refactor(display): extract the shared display-transition + keyboard tools (#150)
All checks were successful
Check / eval (push) Successful in 4m29s
All checks were successful
Check / eval (push) Successful in 4m29s
The full nomarchy-display-transition (dock/undock/enable — logging, the lid-inhibitor gate, restore_keyboards, the failure dump) and the nomarchy-keyboard-layout helper it calls move out of hyprland.nix into leaf files (modules/home/display-transition.nix, keyboard-tool.nix), imported by both hyprland.nix and idle.nix. This kills the lossy ~22-line mini idle.nix carried under the same binary name to dodge a circular import. The hypridle wake path (after_sleep / DPMS on-resume) now runs the real undock — restore_keyboards after a reload and the evidence dump on enable-failure — instead of a bare keyword+reload, and the two copies can no longer drift. Behaviour on the hyprland side is unchanged: the built nomarchy-display-transition and nomarchy-keyboard-layout have byte-identical store paths on HEAD vs this change (verbatim extraction). Verify: all four files parse; home activationPackage + system toplevel build; checks.docking-ux green (bash -n + safety-feature greps on the extracted scripts). The tools/monitor-fallback.nix dock harness is red on main already (the #148 reload-mid-dock assertion — identical failure on clean HEAD; filed BACKLOG #154), so it could not gate this. The idle wake-path behaviour change (full undock, incl. dock-intent clearing) is V3 pending: on-hardware suspend/resume + zero-output rescue queued in HARDWARE-QUEUE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -527,6 +527,25 @@ Design/decision records and a running log of shipped work (items marked
|
||||
V1: template HM activation built with `unstable.hello`, closure carries
|
||||
the unstable store path; `checks.unstable-seam` (eval-only) guards the
|
||||
seam permanently; lock diff added exactly the one node.
|
||||
- ✓ **Display-transition tool de-duplicated (#150, 2026-07-20):** the full
|
||||
`nomarchy-display-transition` (dock/undock/enable — logging, the lid-inhibitor
|
||||
gate, `restore_keyboards`, the failure dump) moved out of `hyprland.nix` into
|
||||
its own leaf `modules/home/display-transition.nix`, and the keyboard helper it
|
||||
calls into `modules/home/keyboard-tool.nix`; `hyprland.nix` and `idle.nix` now
|
||||
import the ONE copy. This kills the lossy ~22-line mini `idle.nix` carried
|
||||
under the same binary name to dodge a circular import — so the hypridle wake
|
||||
path (`after_sleep` / DPMS `on-resume`) gets the real undock, i.e.
|
||||
`restore_keyboards` after a reload and the evidence dump on enable-failure,
|
||||
not a bare keyword+reload. Behaviour on the hyprland side is unchanged —
|
||||
**proven** by byte-identical store paths for the built
|
||||
`nomarchy-display-transition` / `nomarchy-keyboard-layout` on HEAD vs the
|
||||
refactor. Gates: parse + home/toplevel builds + `checks.docking-ux`
|
||||
(structural, `bash -n` + safety-feature greps) all green. The
|
||||
`tools/monitor-fallback.nix` dock VM harness is **red on `main` already**
|
||||
(the #148 reload-mid-dock assertion — identical failure on clean HEAD;
|
||||
BACKLOG #154), so it could not gate this; the dock transition inside it
|
||||
still ran `result=ok`. The idle wake-path behaviour change (full undock,
|
||||
incl. dock-intent clearing + `restore_keyboards`) is V3 — HARDWARE-QUEUE.
|
||||
- ✓ **The idle brick's CAUSE found (#127 closed, 2026-07-17):** the incident
|
||||
was misdated — it did not happen "before 12:51:34 Jul 15" (that boot was
|
||||
healthy all day and ended in a routine clean reboot); it ended the
|
||||
|
||||
Reference in New Issue
Block a user