refactor(#107): theme-state.json → state.json, theme-sync → state-sync
Some checks failed
Check / eval (push) Has been cancelled

The machine flake's git-tracked settings file is system state, not
"theme" only — rename it to state.json. CLI becomes nomarchy-state-sync
with a nomarchy-theme-sync symlink for scripts and muscle memory.

Eval (mkFlake, doctor, lifecycle) still accepts theme-state.json; the
next write migrates to state.json and removes the legacy file.
Documented in MIGRATION.md; drop the CLI alias after release notes.
This commit is contained in:
2026-07-15 11:26:59 +01:00
parent 013403deb4
commit d8e1a13d50
62 changed files with 463 additions and 369 deletions

View File

@@ -116,7 +116,7 @@ def build_installer_region(v: dict) -> str:
]
# Auto-login is deliberately NOT emitted here — it is seeded into
# theme-state.json instead (patch_state). A line in system.nix outranks
# state.json instead (patch_state). A line in system.nix outranks
# the state default, which would make the System Auto-login toggle
# write JSON that nothing reads.
@@ -260,7 +260,7 @@ def patch_system(text: str, v: dict) -> str:
def patch_state(text: str, v: dict) -> str:
"""Seed menu-owned settings into theme-state.json.
"""Seed menu-owned settings into state.json.
These live in the state rather than system.nix precisely so the menu can
change them later: a baked Nix assignment would outrank the state default
@@ -286,7 +286,7 @@ def main() -> None:
"flake.nix": patch_flake,
"home.nix": patch_home,
"system.nix": patch_system,
"theme-state.json": patch_state,
"state.json": patch_state,
}
for name, fn in mapping.items():
path = flake_dir / name