diff --git a/bin/watch-changes b/bin/watch-changes
deleted file mode 100755
index 35f87b97..00000000
--- a/bin/watch-changes
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-if [[ "$1" == "" || "$2" == "" ]]; then
-  echo "usage: ${0##*/} <file> <command>";
-  exit 2;
-fi
-
-set -uo pipefail
-
-while true; do
-  inotifywait \
-    --event modify \
-    --event move_self \
-    --exclude ".git|simpletest|vendor" \
-    --recursive \
-    $1 && $2
-done
diff --git a/system/shared/home-manager-packages.nix b/system/shared/home-manager-packages.nix
index afbc0b50..e1cb5139 100644
--- a/system/shared/home-manager-packages.nix
+++ b/system/shared/home-manager-packages.nix
@@ -32,6 +32,7 @@ with pkgs; [
   tree-sitter
   unzip
   virtualenv
+  watchexec
   wget
   xcp
   xh