A git-tracked agent/ directory so AI agents can iterate on the distro unattended (runner-agnostic: /loop, headless claude -p, or a fresh manual session — all state lives in the checkout, per the distro's own philosophy): - LOOP.md — the iteration protocol: orient → pick one BACKLOG task → verify up the V0–V3 ladder → commit+push main → record. Safety rails (v1 untouchable, no force-push, no surprise lock bumps) and stop-and-escalate conditions. - BACKLOG.md — the forward half of docs/ROADMAP.md reworked into a prioritized queue (5 NOW / 6 NEXT / LATER / PROPOSED / Decisions); ROADMAP.md stays the design/decision record + shipped log. - GOALS.md — the four pillars (stable > reproducible/zero-hidden-state > effortless config > beautiful), quality bars, non-goals. - CONVENTIONS.md — coding/design rules (in-flake state, menu placement, Waybar whole-swap parity, toggle-vs-package, no formatter). - MEMORY.md — curated hard-won lessons (VM recipes, btrfs-assistant segfault watch, rofi/WirePlumber/hyprlock gotchas). - HARDWARE-QUEUE.md — every pending V3 on-hardware check collected from the ROADMAP, with exact steps, split by machine. - JOURNAL.md — append-only iteration log, seeded with this bootstrap. Plus a root CLAUDE.md entry point and README/ROADMAP pointers. Verified: V0 — docs-only; nix flake check --no-build green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.6 KiB
3.6 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 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 —
nomarchy-menu snapshot→nomarchy-snapshots: browse/diff, restore a file (undochange), and a root-config rollback, each behind the typed-yesgate. - 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.
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
- 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.