From d57b9f64ab92b5b2c5c902a8f46b07a257edb392 Mon Sep 17 00:00:00 2001 From: Omabot Date: Wed, 19 Aug 2026 10:53:39 -0700 Subject: [PATCH] Move Herdr to the herdr-git package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The herdr package was built from an Omarchy fork of Herdr whose only divergence was three commits replaying an agent's CLI options when a session resumed. Upstream declined that work twice — from a contributor in herdrdev/herdr#2036 and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it — so the fork bought one feature at the price of rebasing it onto upstream forever. omacom-io/omarchy-pkgs#170 drops the fork and builds from upstream master instead, which renames the package to herdr-git. Renaming means the package list has to name the new package, and existing installs need a nudge: herdr-git declares replaces, but pacman honours that only during a full sysupgrade, which leaves anyone who updates another way holding the old name. The migration installs herdr-git in one transaction rather than dropping herdr and adding it back, because the session is usually running inside herdr and an install that failed between the two would leave the machine with no terminal. That needs --ask 4, since --noconfirm answers "no" to the conflict herdr-git raises against the installed herdr — the same reason omarchy-upgrade-to-quattro passes it. It ends by asserting the package is really there, because pacman does not always exit non-zero when an install fails and a migration that marked itself done would leave the machine on the fork for good. Nothing here can merge before herdr-git is published to the package mirrors: until then the migration fails, stays pending and retries, which is safe but noisy. 🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh. Co-Authored-By: Codex XHigh --- install/omarchy-base.packages | 2 +- migrations/1787155435.sh | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 migrations/1787155435.sh diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 1c01081e99..5824e642a2 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -50,7 +50,7 @@ gum gvfs-mtp gvfs-nfs gvfs-smb -herdr +herdr-git hyprland hyprland-guiutils hyprland-preview-share-picker diff --git a/migrations/1787155435.sh b/migrations/1787155435.sh new file mode 100644 index 0000000000..d193b824b0 --- /dev/null +++ b/migrations/1787155435.sh @@ -0,0 +1,19 @@ +echo "Switch to the herdr-git package that follows upstream Herdr" + +# herdr was built from an Omarchy fork whose only divergence was replaying an +# agent's CLI options on resume, work upstream declined twice. herdr-git drops +# the fork and follows upstream master, which renames the package. + +if omarchy-pkg-present herdr-git; then + exit 0 +fi + +# One transaction rather than a drop and an add: the session is usually running +# inside herdr, and an install that failed between the two would leave it with +# no terminal. --noconfirm answers "no" to the conflict herdr-git raises against +# the installed herdr, so --ask 4 preselects removing it. +sudo pacman -S --noconfirm --ask 4 --needed herdr-git + +# pacman does not always exit non-zero when a package fails to install, and a +# migration that marked itself done would leave this machine on the fork for good. +omarchy-pkg-present herdr-git