Add Go compiler; split system.nix into focused modules

system.nix had grown to 200 lines covering boot, networking, locale,
audio, Bluetooth, fonts, nix settings, hardening, DNS and RGB. Split it
by concern into boot.nix, networking.nix, locale.nix, nix-settings.nix,
security.nix and audio.nix.

Also:
- drivers.nix -> hardware.nix, absorbing Bluetooth, the I2C udev rule,
  OpenRGB and printing
- fonts -> desktop.nix
- nix-ld and pkgs.file -> apps.nix
- the Bottles tmpfiles link -> users.nix, next to services.flatpak

The reorganization is behavior-neutral: the dbus-1, system-units,
user-units and system-path trees are byte-identical to the previous
build once self-referential store paths are normalized, and
`nix store diff-closures` against the running system reports exactly
one change -- go 1.26.7.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Nexoniarz 2026-09-19 13:17:48 +02:00
commit aae40e6d5c
13 changed files with 252 additions and 218 deletions

View file

@ -17,13 +17,18 @@ My personal NixOS system configuration.
| File | Contents |
|---|---|
| `configuration.nix` | Imports only |
| `modules/system.nix` | Boot, networking, locale, audio, hardening |
| `modules/drivers.nix` | GPU, tablet, I2C, RTL-SDR |
| `modules/desktop.nix` | Plasma, theming |
| `modules/users.nix` | Account, shell, Steam |
| `modules/apps.nix` | Installed packages |
| `modules/scripts.nix` | Custom scripts in `modules/scripts/` |
| `modules/boot.nix` | Limine, kernel, zram/swap |
| `modules/networking.nix` | NetworkManager, firewall, DNS-over-TLS, MAC randomization |
| `modules/locale.nix` | Timezone, locale, console keymap |
| `modules/nix-settings.nix` | Nix features, GC, unfree |
| `modules/security.nix` | sysctl hardening, sudo, firejail, GnuPG, polkit |
| `modules/hardware.nix` | GPU, tablet, Bluetooth, I2C, RTL-SDR, OpenRGB, printing |
| `modules/audio.nix` | PipeWire |
| `modules/desktop.nix` | Plasma, SDDM, fonts, theming |
| `modules/users.nix` | Account, shell, Steam, Flatpak |
| `modules/apps.nix` | Installed packages, nix-ld |
| `modules/default-apps.nix` | MIME associations |
| `modules/scripts.nix` | Custom scripts in `modules/scripts/` |
---