feat: Nomarchy ground-up rewrite on NixOS 26.05
Full replacement of the previous iteration, rebuilt around three ideas:
- Pure evaluation: theme-state.json lives inside the flake and is read
via the nomarchy.stateFile option — no --impure, ever.
- All-Home-Manager theming: `nomarchy-theme-sync apply` writes the JSON
and runs `home-manager switch`; every theme change is one atomic,
rollbackable generation. Wallpaper (swww) is the sole runtime piece.
- Flat, downstream-first layout: modules/{nixos,home} with one
options.nix each, exported as nixosModules/homeModules + overlay +
flake template; system (nixos-rebuild) and desktop (home-manager
switch) rebuild paths are fully split.
Ships 21 themes imported from the previous iteration (palettes,
wallpapers, btop themes, six whole-swap Waybar identities), Stylix for
the GTK/Qt/cursor long tail, a live ISO target with offline theme
switching, and docs/TESTING.md with the QEMU verification workflow.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
22
templates/downstream/README.md
Normal file
22
templates/downstream/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# My Nomarchy machine
|
||||
|
||||
1. `nixos-generate-config --show-hardware-config > hardware-configuration.nix`
|
||||
2. Edit `flake.nix` (Nomarchy repo URL, username), `system.nix` (hostname,
|
||||
user), `home.nix` (your packages).
|
||||
3. `git init && git add -A` — flakes only see tracked files, including
|
||||
`theme-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-theme-sync` knows where the state lives.
|
||||
|
||||
Day-to-day:
|
||||
|
||||
```sh
|
||||
nomarchy-theme-sync list # 21 shipped presets
|
||||
nomarchy-theme-sync apply gruvbox # writes state + home-manager switch
|
||||
nomarchy-theme-sync bg next # cycle wallpapers (instant, no rebuild)
|
||||
```
|
||||
|
||||
The system layer only needs `nixos-rebuild` when you change `system.nix`.
|
||||
Reference in New Issue
Block a user