feat(state): opt-in auto-commit of state mutations (Phase 4)
settings.autoCommit — toggled from System › Auto-commit (self-gated on the flake being a git repo) — makes every nomarchy-theme-sync apply/set also git-commit theme-state.json in the downstream flake, so settings history is `git log`. Off by default. Design: the flag is live-read by the tool on each write (nothing in Nix consumes it → instant toggle, no rebuild, no new option); the commit is pathspec-limited to theme-state.json so unrelated dirty files are never swept up; it fires when the flag is on before OR after the write, so the disable-toggle itself lands in history; same-value writes no-op (diff against HEAD); missing git identity falls back to Nomarchy <nomarchy@localhost>; `bg next` is deliberately excluded. Rider fix: `get` now prints booleans JSON-style (true, not Python's True) — un-sticking the System menu's "Auto timezone (on/off)" label, whose `= true` comparison could never match. All shell consumers already normalise true|True, so no other behavior change. Verified: V0 (py_compile, nix flake check) + V1 (HM generation builds, generated nomarchy-menu passes bash -n, wiring present in the rendered script) + a 7-assertion sandbox-repo round-trip covering enable/set/ same-value/disable/post-disable/apply paths and the identity fallback. Remaining: on-machine check queued in agent/HARDWARE-QUEUE.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,6 +43,12 @@ QA machine), the **T14s** (webcam case).
|
||||
- [ ] **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 `= true` comparison fix).
|
||||
|
||||
## AMD dev box only
|
||||
- [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP
|
||||
|
||||
Reference in New Issue
Block a user