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

@ -70,6 +70,7 @@ in
gcc
python3
openjdk25
go
claude-code
];
@ -100,5 +101,17 @@ in
qt5.qtwayland
qt6.qtwayland
qemu
file
];
# Lets non-Nix binaries (e.g. the Tor Browser bundle) find an FHS linker.
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
glib gtk3 gdk-pixbuf pango cairo atk
dbus dbus-glib fontconfig freetype
libx11 libxext libxrender libxtst
libxi libxcomposite libxdamage libxfixes
libxrandr libxcursor libxcb libxkbcommon
alsa-lib mesa zlib stdenv.cc.cc
];
}