Files
Nomarchy/templates/downstream
Bernardo Magri 0c668c2eb1 feat(apps): starter workstation app suite + steam/libvirt/obs services
The "default application suite" roadmap item, but deliberately NOT a
nomarchy.apps.* option surface: a bare package install has no config to
put behind a toggle, so a thin `mkIf x { systemPackages = [p]; }` only
reinvents what a package list already gives. Instead the suite is a
curated home.packages list in templates/downstream/home.nix (extending
the existing `# firefox` convention) — active staples (libreoffice,
vscode, gimp, inkscape, mpv, amberol) plus commented suggestions. The
opt-out is deleting a line; it also keeps the apps out of the live ISO
automatically (the ISO never scaffolds from the template).

The members that DO need system config become nomarchy.services.* opt-in
toggles instead (config behind the switch, like the existing services):
  - steam   → programs.steam (32-bit stack, controller udev, RP ports)
  - libvirt → libvirtd + virt-manager, login user added to libvirtd group
  - obs     → obs-studio + a v4l2loopback virtual camera (exclusive_caps=1)
              selectable as a webcam in Zoom/Teams

README option table, ROADMAP (services item now "Eight shipped"; suite
item marked done with the no-surface rationale) and the downstream
system.nix examples updated to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 20:45:10 +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.