Moves the hand-edited ~/.config/niri/config.kdl into home-manager's built-in wayland.windowManager.niri module.
Changes
modules/home-manager/niri.nix: shared config (input, layout, window rules, binds) via settings. Only renders the config: niri itself, the session, systemd units and portals stay with the NixOS module (modules/nixos/niri.nix). Uses osConfig.programs.niri.package so niri validate runs at build time against the installed version, and is only enabled on hosts with programs.niri.enable.
Closes #67
Moves the hand-edited `~/.config/niri/config.kdl` into home-manager's built-in `wayland.windowManager.niri` module.
## Changes
- `modules/home-manager/niri.nix`: shared config (input, layout, window rules, binds) via `settings`. Only renders the config: niri itself, the session, systemd units and portals stay with the NixOS module (`modules/nixos/niri.nix`). Uses `osConfig.programs.niri.package` so `niri validate` runs at build time against the installed version, and is only enabled on hosts with `programs.niri.enable`.
- `hosts/argon/niri.nix`: DP-1/DP-2 output layout, touchpad/trackpoint off.
- `hosts/neon/niri.nix`: touchpad tap + natural-scroll, gaps 10, Print/Ctrl+Print screenshots, `Mod+Shift+P` power-off-monitors, 1% brightness steps (`lib.mkForce`, since `spawn` lists would otherwise be concatenated).
- Argon's config is the shared baseline; neon's older divergences (focus-monitor binds, animation slowdown, wezterm/Secrets rules, …) were dropped.
## Testing
- Generated configs pass `niri validate` for argon and neon; argon's 108 binds match the previous hand-written config.
- `nh os test` on both hosts: niri reloaded the symlinked config without errors.
- nixfmt and statix clean.
Note: the existing `config.kdl` must be moved away before the first activation (no `backupFileExtension` set).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #67
Moves the hand-edited
~/.config/niri/config.kdlinto home-manager's built-inwayland.windowManager.nirimodule.Changes
modules/home-manager/niri.nix: shared config (input, layout, window rules, binds) viasettings. Only renders the config: niri itself, the session, systemd units and portals stay with the NixOS module (modules/nixos/niri.nix). UsesosConfig.programs.niri.packagesoniri validateruns at build time against the installed version, and is only enabled on hosts withprograms.niri.enable.hosts/argon/niri.nix: DP-1/DP-2 output layout, touchpad/trackpoint off.hosts/neon/niri.nix: touchpad tap + natural-scroll, gaps 10, Print/Ctrl+Print screenshots,Mod+Shift+Ppower-off-monitors, 1% brightness steps (lib.mkForce, sincespawnlists would otherwise be concatenated).Testing
niri validatefor argon and neon; argon's 108 binds match the previous hand-written config.nh os teston both hosts: niri reloaded the symlinked config without errors.Note: the existing
config.kdlmust be moved away before the first activation (nobackupFileExtensionset).🤖 Generated with Claude Code