Files
Bernardo Magri d8e1a13d50
Some checks failed
Check / eval (push) Has been cancelled
refactor(#107): theme-state.json → state.json, theme-sync → state-sync
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.
2026-07-15 11:26:59 +01:00

34 lines
1.6 KiB
Markdown

# My Nomarchy machine
This directory is the **single source of truth** for a Nomarchy machine
flake. `nix flake init -t …` copies it as-is; **`nomarchy-install` copies
the same files and only patches** install-time values (username, hostname,
keyboard, detected hardware, password hash, …). Keep commented opt-ins and
`home.packages` here — do not invent a second catalog in the installer.
1. Overwrite the placeholder hardware config with the real one:
`nixos-generate-config --show-hardware-config > hardware-configuration.nix`
2. Set `flake.nix` up **once** (Nomarchy repo URL, your username, optionally
a `hardwareProfile` from <https://github.com/NixOS/nixos-hardware> — an
unknown name fails the rebuild with suggestions). After that the flake is
never touched again: your machine lives in `system.nix` (hostname,
services — the login user is created from `username` automatically) and
`home.nix` (your packages).
3. `git init && git add -A` — flakes only see tracked files, including
`state.json`.
4. System: `sudo nixos-rebuild switch --flake .#default`
5. Desktop: `nix run home-manager -- switch --flake .#me`
(afterwards just `home-manager switch --flake .#me` — it's installed)
6. Clone/symlink this directory to `~/.nomarchy` (or export
`NOMARCHY_PATH`) so `nomarchy-state-sync` knows where the state lives.
Day-to-day:
```sh
nomarchy-state-sync list # 24 shipped presets
nomarchy-state-sync apply gruvbox # writes state + home-manager switch
nomarchy-state-sync bg next # cycle wallpapers (instant, no rebuild)
```
The system layer only needs `nixos-rebuild` when you change `system.nix`.