feat(menu): #79 slice 3 — Look & Feel › Auto theme (completes #79)
All checks were successful
Check / eval (push) Successful in 3m46s
All checks were successful
Check / eval (push) Successful in 3m46s
Adds an "Auto theme (on/off)" row to Look & Feel and an `autotheme` submenu: toggle the feature, pick the day/night themes (from `nomarchy-theme-sync list`), and set the sunrise/sunset times (HH:MM, validated). This is the menu surface over settings.autoTheme, completing the auto time-of-day theme feature (slices: CLI / timer / menu). Enabling writes the flag and defaults the summer-day/summer-night pair --no-switch, then runs `auto --force`, so a single rebuild both installs the timer and applies the correct theme for now. Disabling is instant (--no-switch): the flag flips and `auto` self-gates, so the lingering timer no-ops until the next rebuild. Day/night/time writes are live --no-switch (read by `auto` at tick time). Verification: V1 — HM generation builds (bash -n on nomarchy-menu at build) + bash -n on the built menu. Logic test with stubbed rofi/theme-sync/notify: selecting the toggle from off runs exactly `set day/night/enable ... --no-switch` then `auto --force` — the intended one-rebuild path. V0 flake check green. All three #79 slices shipped; the live timer switch across sunset is a real-session (V3) check on a Nomarchy machine. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,27 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-10 — #79 slice 3: Look & Feel › Auto theme menu (#79 complete)
|
||||
- **Task:** BACKLOG #79 slice 3 — the menu; completes the feature.
|
||||
- **Did:** `rofi.nix` — "Auto theme (on/off)" row in Look & Feel + an
|
||||
`autotheme)` submenu: toggle, pick day/night (from
|
||||
`nomarchy-theme-sync list`), set sunrise/sunset (HH:MM input, validated).
|
||||
Enable writes the flag + defaults the summer pair `--no-switch`, then
|
||||
`exec auto --force` — one rebuild installs the timer AND applies the right
|
||||
theme. Disable is instant `--no-switch` (`auto` self-gates; the lingering
|
||||
timer no-ops). Day/night/times are live `--no-switch`.
|
||||
- **Verified:** **V1** — HM generation builds (`writeShellScriptBin` bash -n
|
||||
on nomarchy-menu passes) + bash -n on the built menu. **Logic test**
|
||||
(stubbed rofi/theme-sync/notify): selecting "Auto theme (off)" runs exactly
|
||||
`set day summer-day`, `set night summer-night`, `set enable true`
|
||||
(all `--no-switch`), then `auto --force` — the intended one-rebuild path.
|
||||
Disable path is static-clear (set false `--no-switch`, no `auto`); a
|
||||
stateful-stub dynamic test would loop (stub doesn't reflect the flip). V0
|
||||
flake check green. **#79 collapsed to `[blocked:hw]`** (all 3 slices done;
|
||||
only live-session switch remains, needs a Nomarchy machine).
|
||||
- **Pending:** V3 real-session (timer switches day↔night across sunset).
|
||||
- **Next suggestion:** NEXT head #76/#79 both `[blocked:hw]`; QA/PROPOSED.
|
||||
|
||||
## 2026-07-10 — #79 slice 2: auto-theme systemd timer
|
||||
- **Task:** BACKLOG #79 slice 2 — the timer/hook.
|
||||
- **Did:** `modules/home/autotheme.nix` (imported in home default.nix):
|
||||
|
||||
Reference in New Issue
Block a user