Recovers the crashed iteration #7 (items 21+23, Latitude QA findings): - nomarchy-waybar supervisor (waybar.nix, exec-once'd from hyprland.nix): any waybar exit respawns the bar; crash-loop guard (5 fast exits -> critical notify + stop); TERM trapped for a real stop. Fixes the bar-less session after a theme-switch crash. - nomarchy-theme-sync prefers a clean `pkill -x waybar` (supervisor restart with fresh config+style) over the crash-prone in-place SIGUSR2 reload when the supervisor is running; SIGUSR2 stays as the unsupervised fallback. - sys-rebuild: snapshot-first system rebuild against the CURRENT lock (no `nix flake update`) — the no-update twin of sys-update; README §3/§5 + motd list it. Verified: V0 re-run green after crash recovery (flake check --no-build + py_compile); V1/V2 per the crashed session's journal entry (HM renders exec-once=nomarchy-waybar; headless software-GL VM: SIGKILL -> new pid, clean kill -> respawn, SIGUSR2 -> alive). V3 pending on the Latitude (queued in HARDWARE-QUEUE.md). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
Hardware queue — V3 checks only a human can run
Everything shipped at V1/V2 whose final verification needs real hardware.
Agents append (newest at the bottom of a section) with exact steps;
Bernardo runs them and either checks off ([x] + date + verdict) or files
the failure as a NOW bug in BACKLOG.md. Machines: the AMD dev box
(Ryzen AI laptop: AMD + fingerprint + NPU), the Latitude 5410 (Intel
QA machine), the T14s (webcam case).
Any machine (dev box is fine)
- Battery charge limit re-apply on unplug —
sudo nixos-rebuild switchwithpower.batteryChargeLimit = 80, physically unplug/replug AC, confirmcharge_control_end_thresholdre-reads 80. (udev trigger already VM-verified.) - SSH_AUTH_SOCK for GUI clients — after relogin, launch a GUI git
client (or
rofi-launched terminal-less app) and confirm it reaches gpg-agent's SSH socket without an interactive shell parent. - Night-light full cycle — first menu enable rebuilds + hyprsunset starts; later toggles are instant (no rebuild); an off survives reboot (ExecCondition); stopping hyprsunset restores gamma.
- Auto-timezone — enable from the menu; confirm geoclue finds the
zone,
/etc/localtimeupdates, and the Waybar clock refreshes (SIGUSR2 watcher) — also after a manualtimedatectl set-timezone. - Keyboard layout cycle bind — with a comma layout (e.g.
nomarchy.keyboard.layout = "us,de"), SUPER+SHIFT+K cycles the focused keyboard's layout, the Waybarindicator follows, and the row shows in the SUPER+? cheatsheet. - Keyboard hotplug picker (re-verify after in-flake graduation) —
plug an external keyboard post-login, pick a layout in rofi, confirm
it applies per-device only, persists in
settings.keyboard.devices, and graduates into adevice{}block on the next rebuild. - Snapshots restore/rollback — ⚠ PRECONDITION: update to main ≥
a47aa3aand RELOGIN first (the polkit agent starts with the session). Bernardo's 2026-07-04 Latitude findings 5/6 ("btrfs-assistant still crashes", "menu snapshots shows nothing") match the PRE-fix behavior exactly: no agent → pkexec fails silently (= menu does nothing), and a direct unprivileged run crashes (= the libbtrfsutil bug). If either still reproduces ON THE FIXED BUILD after relogin, reopen BACKLOG item 4 as [stuck]. Then:nomarchy-menu snapshotnow opens the btrfs-assistant GUI: a themed polkit prompt must appear (hyprpolkitagent — first on-hardware outing) and the GUI must open as root. Also exercise the fzf fallback in a terminal (sudo nomarchy-snapshots): browse/diff, restore a file (undochange), and a root-config rollback behind the typed-yesgate. Bonus check: any other pkexec flow now prompts instead of silently failing. - Update awareness — with
nomarchy.updates.enable, let the timer fire (or start the unit): indicator appears only when inputs are behind, notification only on count growth, click opens the upgrade flow. - VPN menu live paths — import a real WireGuard
.confand an.ovpnvia System → VPN, toggle up/down (● / ○ state), and the Tailscale block: up/down + exit-node without sudo (operator grant). - Printer menu — with
nomarchy.services.printing, System → Printers opens system-config-printer; add a printer, test page. - GRUB UEFI ISO theme render — boot the ISO on UEFI hardware: composed splash background, palette menu in the lower third, accent timeout bar.
- Visual theme pass — live ISO: all six identity themes (bars) +
the four authored rofi
.rasi(nord/retro-82/lumon/kanagawa) look right, not just parse. - Auto-commit on a real machine — System › Auto-commit toggles on
(row shows state, notification fires); a theme apply from SUPER+T then
shows a
nomarchy: apply theme …commit in~/.nomarchy(git log); unrelated dirty files in the checkout stay uncommitted; toggle off is itself the last commit. Also: the "Auto timezone (on/off)" row label now reflects the real state (the= truecomparison fix).
AMD dev box only
- AMD runtime bits — VA-API (
vainfo→ radeonsi), amd-pstate EPP active and PPD switching governors; opt-ins: ROCm (rocminfo, a GPU PyTorch/Ollama smoke) and the XDNA NPU driver loading. - Fingerprint —
fprintd-enroll+ (opt-in PAM) login/sudo.
Latitude 5410 only
- Waybar theme-switch resilience (finding #1 re-test, needs main ≥
the supervisor commit + relogin) — switch themes repeatedly (incl.
summer-day/night whole-swaps): the bar restarts cleanly each time;
if anything kills it, it's back within ~a second.
pgrep -f nomarchy-waybarshows the supervisor. - Media keys + gestures (from
dccceb4) — volume/brightness keys drive the OSD; touchpad gestures work. - v1 QA batch on-hardware pass (
583708dbatch was QEMU-verified) — general smoke before the nextmain → v1promotion.
T14s only
- Webcam IR-hide end-to-end on Nomarchy — installer detects the
RGB+IR pair, bakes
hardware.camera.hideIrSensor;wpctl statusshows one colour source; an app picker lists one camera; Howdy-style direct/dev/video2reads still work.