# 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 — 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`.