A display profile can now pin workspaces to outputs:
docked = {
monitors = [ … ];
workspaces = { "1" = "DP-3"; "9" = "eDP-1"; };
};
The bare list-of-monitors shape still works (either-type; hyprland.nix
normalizes — coercedTo refuses list-of-submodule sources). Pins bake as
Hyprland `workspace` rules from the active profile and apply instantly
on `nomarchy-display-profile apply`: keyword sets the session rule,
moveworkspacetomonitor moves open workspaces over. Pins from a
previously applied profile linger in-session until reload/rebuild
(hyprctl can only add) — inert if the output is absent, noted in the
applier.
V1: flake check green (checks.display-profiles now asserts
workspaceRule) + scratch-downstream eval: baked settings carry both
rule sets, the generated applier has the keyword+dispatch pairs
(bash -n), match/list correct with mixed shapes. V3 queued in
HARDWARE-QUEUE (rides the dock test). Item 15 complete — deleted.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
My Nomarchy machine
- Overwrite the placeholder hardware config with the real one:
nixos-generate-config --show-hardware-config > hardware-configuration.nix - Set
flake.nixup once (Nomarchy repo URL, your username, optionally ahardwareProfilefrom 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 insystem.nix(hostname, services — the login user is created fromusernameautomatically) andhome.nix(your packages). git init && git add -A— flakes only see tracked files, includingtheme-state.json.- System:
sudo nixos-rebuild switch --flake .#default - Desktop:
nix run home-manager -- switch --flake .#me(afterwards justhome-manager switch --flake .#me— it's installed) - Clone/symlink this directory to
~/.nomarchy(or exportNOMARCHY_PATH) sonomarchy-theme-syncknows where the state lives.
Day-to-day:
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.