Olivier f1bd5146a3 refactor(hosts): simplify streaming display configuration
Refactor the streaming display logic for the 14900k host to use the
`streamingDisplay` configuration object directly instead of separate
variables. This simplifies the monitor layout logic for both Niri and
Hyprland.

Additionally, remove the fragile `sunshineOutputIndex` option in favor
of using the stable connector name for Sunshine's `output_name`. This
prevents issues where numeric monitor indices drift after hotplugging.
The change also includes an explicit encoder list for Sunshine to avoid
probing for AV1 on hardware that does not support it.
2026-07-18 09:35:52 -03:00
2026-05-01 15:44:19 -03:00
2026-05-01 15:44:19 -03:00
2026-07-15 10:38:27 -03:00

chiasson-nix

My personal NixOS + Home Manager flake. flake.nix feeds ./modules through flake-parts and import-tree so config stays in small files instead of one monster module.

How to work on it: conventions.md.

Hosts

Host What it is
t2mbp Intel MacBook with T2 chip — Niri/DMS, t2linux + fan daemon
14900k Main x86 desktop — same GUI stack, also cross-builds aarch64 and exports NFS for Jellyfin
ideapad Lenovo IdeaPad Duet 3 (Chromebook, lenovo-wormdingler) — Mobile NixOS on Snapdragon, Niri/DMS, touch/tablet bits in _private/
uConsole Clockwork Pi uConsole (Pi 5 CM) — Niri/DMS, built with nixos-raspberrypi + oom-hardware
nix-server Headless x86 VM — Attic, Gitea, Immich, SwiftShare, Personal-Website, DDRM, Portainer, …
r5500 Headless media box — Jellyfin, *arr, qBittorrent, Dispatcharr; library on NFS from nix-server

Each machine: modules/hosts/<name>/default.nixnixosConfigurations.<name>, real config in *Configuration + optional _private/ and _services/.

Deploy / rebuild

Remote builds use the builder user (systemDeployBuilder, wired through client-services on desktops).

Fleet deploy is Navi — config in modules/deploy/navi.nix, outputs flake.navi / flake.naviHive.

nix develop          # devShell has navi + hints
navi apply --on <host>
navi apply-local --node 14900k --sudo   # this machine, if hostname matches

Plain rebuild still works: sudo nixos-rebuild switch --flake .#<host>.

Repo layout

modules/
  hosts/<host>/     # per-machine composition
  system/           # nixosModules.system aggregate
  desktop/          # GUI stack
  wisdom/           # HM modules (exports still named wisdom*)
  ssh/              # inbound NixOS + outbound HM
  deploy/           # navi hive
  lib/              # pure helpers → flake.lib

Machine-only stuff lives in hosts/<host>/_private/ — import-tree skips _private/ globally, so those files only get pulled in where you import them.

S
Description
No description provided
Readme 5.8 MiB
Languages
Nix 80.5%
Shell 15.5%
CSS 2.8%
Python 1.1%