Drop Lazydocker from new installs (#14230)

* Drop Lazydocker from new installs

* Preserve Lazydocker during Quattro upgrades

* Remove Lazydocker from the manual
This commit is contained in:
David Heinemeier Hansson authored and GitHub committed 2026-10-04 08:23:00 -04:00
1 parent 454b67d95f
commit 5657a91f8d
14 files changed
+80 -23

No files matched your search

+2 -2
View File
@@ -20,9 +20,9 @@ trap 'rm -rf "$test_dir"' EXIT
home="$test_dir/home"
omarchy_path="$test_dir/omarchy"
stub_bin="$test_dir/bin"
mkdir -p "$home/.local/share/applications" "$omarchy_path/applications" "$stub_bin"
mkdir -p "$home/.local/share/applications" "$omarchy_path/default/applications" "$stub_bin"
printf 'NEW-LAUNCHER\n' >"$omarchy_path/applications/Docker.desktop"
printf 'NEW-LAUNCHER\n' >"$omarchy_path/default/applications/Docker.desktop"
printf 'OLD-LAUNCHER\n' >"$home/.local/share/applications/Docker.desktop"
# id reports a controllable group set; sudo just drops the prefix; gpasswd
@@ -175,6 +175,22 @@ if grep -Fq $'SUPER + CTRL + X Toggle dictation' <<<"$missing_voxtype_output"; t
fi
pass "missing Voxtype skips dictation bindings"
# Lazydocker is optional on new installs, while existing installs keep the hotkey.
lazydocker_bin="$tmpdir/lazydocker-bin"
mkdir -p "$lazydocker_bin"
touch "$lazydocker_bin/lazydocker"
chmod +x "$lazydocker_bin/lazydocker"
lazydocker_output=$(PATH="$lazydocker_bin:$PATH" run_application_bindings "$fresh_home")
grep -Fqx $'SUPER + SHIFT + D\tDocker' <<<"$lazydocker_output" ||
fail "installed Lazydocker keeps its Docker shortcut"
pass "installed Lazydocker keeps its Docker shortcut"
missing_lazydocker_output=$(PATH="$missing_bin" run_application_bindings "$fresh_home")
if grep -Fq $'SUPER + SHIFT + D\tDocker' <<<"$missing_lazydocker_output"; then
fail "missing Lazydocker skips its Docker shortcut"
fi
pass "missing Lazydocker skips its Docker shortcut"
# The Grave shortcuts are aliases, so the original SUPER + S pair has to keep
# working alongside them.
scratchpad_home="$tmpdir/scratchpad-home"
+43
View File
@@ -363,3 +363,46 @@ reboot_line=$(grep -n 'Rebooting because --reboot was passed' "$upgrade_to_quatt
[[ -n $unsafe_line && -n $reboot_line ]] || fail "reboot gate and reboot branch exist"
(( unsafe_line < reboot_line )) || fail "an unverified kernel cmdline blocks the reboot"
pass "Omarchy 4 upgrade verifies the UKIs and refuses to reboot unverified"
# Lazydocker is optional on fresh installs, but a pre-quattro install keeps it.
lazydocker_body=$(function_body migrate_lazydocker_package)
[[ -n $lazydocker_body ]] || fail "upgrade has a Lazydocker replacement step"
eval "migrate_lazydocker_package() { $lazydocker_body; }"
lazydocker_calls=""
package_installed_exact() { [[ $1 == "lazydocker-bin" && $legacy_lazydocker == "yes" ]]; }
log() { :; }
warn() { :; }
as_root() {
lazydocker_calls+="swap:$*"$'\n'
return "$lazydocker_swap_status"
}
mark_packages_explicit() { lazydocker_calls+="explicit:$*"$'\n'; }
legacy_lazydocker=no
lazydocker_swap_status=0
migrate_lazydocker_package
[[ -z $lazydocker_calls ]] || fail "upgrade does not install Lazydocker for users without the legacy package"
pass "upgrade does not install Lazydocker for users without the legacy package"
legacy_lazydocker=yes
migrate_lazydocker_package
grep -Fxq 'swap:pacman -S --needed --noconfirm --ask 4 lazydocker' <<<"$lazydocker_calls" ||
fail "upgrade replaces existing lazydocker-bin with lazydocker"
grep -Fxq 'explicit:lazydocker' <<<"$lazydocker_calls" || fail "upgrade retains Lazydocker as an explicit package"
pass "upgrade replaces existing lazydocker-bin with lazydocker and keeps it explicit"
lazydocker_calls=""
lazydocker_swap_status=1
migrate_lazydocker_package
if grep -Fq 'explicit:' <<<"$lazydocker_calls"; then
fail "failed Lazydocker replacement does not mark an absent package explicit"
fi
for cleanup in remove_conflicting_legacy_packages remove_retired_default_packages; do
if grep -qw lazydocker-bin <<<"$(function_body "$cleanup")"; then
fail "upgrade cleanup must not remove existing Lazydocker when replacement fails"
fi
done
pass "upgrade cleanup preserves existing Lazydocker when replacement fails"
grep -Fxq migrate_lazydocker_package "$upgrade_to_quattro" || fail "upgrade invokes the Lazydocker replacement step"
pass "upgrade invokes the Lazydocker replacement step"