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