test(auto-theme): #79 V2 — simulate sunset in a VM (was mis-framed V3)
All checks were successful
Check / eval (push) Successful in 3m53s
All checks were successful
Check / eval (push) Successful in 3m53s
Bernardo rightly pushed back on deferring #79 to a real session: a simulated sunset IS VM-testable. Add checks.auto-theme, a runNixOSTest that installs nomarchy-theme-sync, points NOMARCHY_DEFAULT_THEMES at the presets, stubs the rebuild via NOMARCHY_REBUILD (a marker), configures the day/night pair + schedule, then WALKS THE VM CLOCK across the boundary: 19:55 -> 20:05 -> 20:06 -> next-day 07:30, asserting the active theme goes summer-day -> night (1 rebuild) -> night (idempotent, still 1) -> day (2 rebuilds). This isolates the auto decision + apply + rebuild-trigger; the actual home-manager switch is stubbed (that generic apply path is exercised by every manual theme change). The only on-hardware residual is the user timer firing on its OnCalendar schedule, which systemd-analyze validates. #79 drops its [blocked:hw] tag — it's V2-verified. ROADMAP updated; lesson recorded in MEMORY (don't default timer/session features to V3: stub the generic step, simulate the clock). Verification: V2 PASS (nix build .#checks.x86_64-linux.auto-theme, fresh, exit 0); V0 flake check green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -28,23 +28,6 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
|
||||
|
||||
## NEXT
|
||||
|
||||
### 79. Auto time-of-day theme pair — all agent work shipped `[blocked:hw]`
|
||||
Auto light/dark theme switch through the existing engine, one pipeline
|
||||
(`VISION § D`). All 3 slices shipped 2026-07-10; design record in ROADMAP.
|
||||
Only the real-session check remains (needs a Nomarchy machine, like #76):
|
||||
- **CLI** — `nomarchy-theme-sync auto` (idempotent day/night apply;
|
||||
`--which`/`--force`/`--no-switch`); `cmd_apply` core → `apply_named`.
|
||||
- **Timer** — `modules/home/autotheme.nix`: user service+timer, install
|
||||
gated on `settings.autoTheme.enable`, `OnStartupSec=1min` +
|
||||
`OnCalendar=*:0/15` + `Persistent`.
|
||||
- **Menu** — Look & Feel › Auto theme: toggle, pick day/night, set times
|
||||
(enable rebuilds to install the timer + `auto --force`; disable is
|
||||
instant `--no-switch`; day/night/times live `--no-switch`).
|
||||
|
||||
**V3 remaining:** on a real Nomarchy session — enable from the menu, confirm
|
||||
the timer switches day↔night across the sunset/sunrise boundary (and the
|
||||
live `home-manager switch` from the timer succeeds).
|
||||
|
||||
### 76. Hibernation default — all agent work shipped `[blocked:hw]`
|
||||
Hibernation + zram on by default (product intent, Bernardo 2026-07-10).
|
||||
**All V0/V1/V2 slices done** (2026-07-10); only the V3 check remains — on a
|
||||
|
||||
Reference in New Issue
Block a user