From 33e8e70e066d74c5a218210d545fd0102443dbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Tue, 25 Aug 2026 05:56:48 +0000 Subject: [PATCH] inotify-tools in the core package set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `inotifywait` is what lets a commander react the moment a file lands instead of polling for it, and the commander template now tells them to use it. it was on this machine by accident and missing on alpha, which is exactly the shape of thing that works for whoever wrote it and fails for everyone else. all three Linux package managers. macOS has no equivalent in these sets, so a commander there polls — stated in the comment rather than left to be discovered. installed on alpha by hand as well, since setup is not re-run on a live host for one package. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- scripts/setup/machine-setup/lib/packages.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/setup/machine-setup/lib/packages.sh b/scripts/setup/machine-setup/lib/packages.sh index 277a3dee..edd3f41b 100644 --- a/scripts/setup/machine-setup/lib/packages.sh +++ b/scripts/setup/machine-setup/lib/packages.sh @@ -81,6 +81,12 @@ LAST_SKIPPED=() # distribution's default alongside it. It stays in core because anything that # compiles a native module needs it, but it is the one to move out first if that # ever bites. +# +# inotify-tools is `inotifywait`, and it is what lets a COMMANDER react the +# moment a file lands instead of polling for it. Without it a watcher can only +# ask "is there anything new?" on a timer, which is both slower and more work — +# and the commander has no way to know the tool is missing until it tries. macOS +# has no equivalent in the package sets here; a commander there polls. pkgs_core() { case "$PM" in apt) @@ -103,17 +109,17 @@ pkgs_core() { echo curl ca-certificates gnupg git jq unzip \ apt-transport-https lsb-release software-properties-common \ wget zip brotli build-essential python3 btop htop tree tmux ripgrep fd-find net-tools eza \ - poppler-utils radicale fail2ban unattended-upgrades + inotify-tools poppler-utils radicale fail2ban unattended-upgrades ;; pacman) echo curl ca-certificates gnupg git jq unzip \ wget zip brotli base-devel python btop htop tree tmux ripgrep fd net-tools eza \ - poppler radicale fail2ban + inotify-tools poppler radicale fail2ban ;; dnf) echo curl ca-certificates gnupg2 git jq unzip \ wget zip brotli python3 btop htop tree tmux ripgrep fd-find net-tools eza \ - poppler-utils radicale fail2ban + inotify-tools poppler-utils radicale fail2ban ;; brew) # curl, unzip and the TLS roots ship with macOS; the compilers come from