Refresh clock after timezone change

This commit is contained in:
David Heinemeier Hansson
2026-06-29 08:51:15 -05:00
parent 67084b153f
commit 86e5581496
2 changed files with 37 additions and 1 deletions
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
set -euo pipefail
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
timezone_menu="$ROOT/bin/omarchy-menu-timezone"
sudoers_file="$ROOT/etc/sudoers.d/omarchy-tzupdate"
grep -F '%wheel ALL=(root) NOPASSWD: /usr/bin/tzupdate, /usr/bin/timedatectl set-timezone *' "$sudoers_file" >/dev/null ||
fail "timezone sudoers rule allows passwordless timedatectl timezone changes"
grep -F 'sudo timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
fail "timezone menu uses the passwordless sudoers timedatectl rule"
! grep -F 'pkexec timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
fail "timezone menu does not wrap timedatectl in pkexec"
! grep -F 'pkexec /usr/bin/timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
fail "timezone menu does not wrap timedatectl in pkexec"
! grep -F 'sudo /usr/bin/timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
fail "timezone menu lets sudo resolve timedatectl from its secure path"
! grep -Fx 'timedatectl set-timezone "$timezone"' "$timezone_menu" >/dev/null ||
fail "timezone menu does not use bare timedatectl, which triggers polkit"
grep -F 'omarchy-shell -q omarchy.clock refresh' "$timezone_menu" >/dev/null ||
fail "timezone menu refreshes the namespaced clock IPC target"
! grep -F 'omarchy-shell -q Clock refresh' "$timezone_menu" >/dev/null ||
fail "timezone menu no longer refreshes the retired Clock IPC target"
pass "timezone menu refreshes clock after timezone changes"