Files
Nomarchy/templates/downstream
Bernardo Magri 1921839e0e
All checks were successful
Check / eval (push) Successful in 2m57s
feat(displays): hotplug auto-switch for display profiles (item 15b)
nomarchy-display-profile gains `match <outputs>`: an exact set match
wins, else the largest profile whose named outputs are all connected;
any tie prints nothing — the watcher must never flap between ambiguous
layouts. nomarchy-display-profile-watch (exec-once when profiles are
declared, the keyboard-watcher poll pattern — session units race
Hyprland IPC on relogin) reacts to output-set CHANGES only, reads
settings.displayProfileAuto from the live state each time (the menu's
new Auto-switch row toggles it instantly, no rebuild), and applies via
the tool — so an auto-pick persists a concrete profile that the next
rebuild bakes. A separate boolean rather than an "auto" pseudo-profile
for exactly that bake semantics.

Verified: V0 (flake check); V1 — a scratch 4-profile downstream builds;
tool + watcher pass bash -n; the match matrix exercised end-to-end:
three exact picks, an unambiguous-superset pick, a tie -> none, a
no-fit -> none; the watcher is exec-once'd in the rendered config; the
menu renders the Auto-switch row. Remains: V3 real dock/undock
(HARDWARE-QUEUE, rides the slice-a entry). Slice c (workspace binding)
stays, tagged optional.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 18:14:07 +01:00
..

My Nomarchy machine

  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 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:

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.