feat: implement hybrid declarative state with automatic Nix sync
Some checks failed
Check / eval-and-lint (push) Has been cancelled

This commit is contained in:
Bernardo Magri
2026-05-31 20:09:12 +01:00
parent 624023c1d5
commit dc3346bc55
18 changed files with 182 additions and 48 deletions

View File

@@ -122,6 +122,12 @@ create minimal versions to start:
```nix
{ pkgs, ... }:
{
imports = [
# Machine-managed state (theme, font, toggles).
# UI scripts update this file automatically.
./nomarchy-state.nix
];
home.packages = with pkgs; [
firefox
xfce.thunar
@@ -144,9 +150,17 @@ create minimal versions to start:
}
```
Since you are migrating manually, you'll need to generate the initial
`nomarchy-state.nix` so the import doesn't fail. Run this once:
```bash
# Seed the initial Nix state from the defaults
nomarchy-sync-nix-state
```
Move any user/services/packages you had in `configuration.nix` over to
`system.nix`. Do **not** redefine things Nomarchy already provides (display
manager, Hyprland, PipeWire, NetworkManager) unless you want to override
...manager, Hyprland, PipeWire, NetworkManager) unless you want to override
them — see the [conflicts](#conflicts-to-resolve-before-rebuild) section.
## 3. (Optional) Pick up hardware-specific tuning