Files
nixos/README.md
T
2026-06-10 19:34:36 +02:00

3.6 KiB

NixOS Gaming Base

Diese Basis-Config ist als wiederverwendbare Vorlage für ein NixOS-Gaming-Desktop-System gedacht und nutzt nixos-unstable, Chaotic-Nyx und getrennte Desktop-/Treiber-Configs. Fokus:

  • aktueller Kernel
  • umschaltbare Grafik-Configs für AMD oder Nvidia
  • Chaotic mesa-git und 32-Bit-Libs für Steam/Proton
  • PipeWire + Gaming-/Desktop-Audio-Tools
  • Steam, Gamescope, MangoHud, Lutris, Heroic, LACT
  • Basis für RGB- und Gaming-Peripherie
  • Desktop-Auswahl zwischen KDE, GNOME, Budgie und Hyprland

Struktur

  • flake.nix: Einstieg über nixos-unstable + chaotic-cx/nyx
  • configuration.nix: Host-spezifische Einstiegsdatei
  • modules/base.nix: Boot, Kernel, Locale, Nix, Firmware, Governor
  • modules/packages.nix: zentraler Ort für eigene Zusatzpakete
  • modules/chaotic-nyx.nix: Chaotic-Nyx Aktivierung, allowUnfree, mesa-git
  • modules/graphics/mesa-amd.nix: AMDGPU + Mesa/RADV Basis
  • modules/graphics/nvidia.nix: Nvidia-Treiber Basis
  • modules/audio/pipewire.nix: PipeWire, JACK, Pulse, Audio-Tools
  • modules/gaming.nix: Steam, Gamescope, Wine/Launcher-Stack
  • modules/desktop/common.nix: gemeinsame Desktop-Pakete
  • modules/desktop/kde.nix: KDE Plasma 6 + SDDM
  • modules/desktop/gnome.nix: GNOME + GDM
  • modules/desktop/budgie.nix: Budgie
  • modules/desktop/hyprland.nix: Hyprland + SDDM
  • modules/peripherals.nix: RGB-, Maus- und USB-Helfer

Vorlage anpassen

Die wichtigsten Platzhalter stehen direkt in configuration.nix:

hostName = "example-host";
userName = "gamer";
fullName = "Gaming User";

Passe diese Werte vor dem ersten Build an. In modules/base.nix sind UTC, en_US.UTF-8 und us als neutrale Defaults gesetzt und können ebenfalls überschrieben werden. Zusätzliche allgemeine Pakete kannst du in modules/packages.nix eintragen.

Desktop auswählen

Die Auswahl passiert zentral in configuration.nix über desktopConfig:

desktopConfig = ./modules/desktop/kde.nix;

Mögliche Werte sind:

  • ./modules/desktop/kde.nix
  • ./modules/desktop/gnome.nix
  • ./modules/desktop/budgie.nix
  • ./modules/desktop/hyprland.nix

Es wird damit immer genau ein Desktop-Modul importiert, nicht alle auf einmal.

Grafiktreiber auswählen

Die Grafik-Konfiguration läuft genauso über graphicsConfig:

graphicsConfig = ./modules/graphics/mesa-amd.nix;

Mögliche Werte sind:

  • ./modules/graphics/mesa-amd.nix
  • ./modules/graphics/nvidia.nix

In modules/graphics/nvidia.nix sind modesetting, nvidiaSettings und das stabile Treiberpaket bereits gesetzt.

Chaotic-Nyx Hinweis

Die Flake bindet github:chaotic-cx/nyx/nyxpkgs-unstable direkt ein und importiert chaotic.nixosModules.default. modules/chaotic-nyx.nix aktiviert chaotic.mesa-git.enable = true;.

Nach der Installation

  1. Die vom Installer erzeugte hardware-configuration.nix nach ./hardware-configuration.nix kopieren.
  2. hostName, userName und fullName in configuration.nix anpassen.
  3. Gewünschten Desktop und ggf. Grafiktreiber in configuration.nix auswählen.
  4. Optional Locale, Tastatur und Zeitzone anpassen.
  5. Passwort für den Benutzer setzen:
passwd <dein-userName>
  1. Flake lock erstellen:
nix flake lock
  1. System aktivieren:
sudo nixos-rebuild switch --flake .#template

Späterer Ausbau

  • Desktop-spezifische Pakete und Defaults weiter tunen, z. B. Autologin, Keyring-Policy, Flatpak
  • OBS / Discord / OpenRGB-Profile / Fancontrol
  • Btrfs-Subvolumes, Snapshots, Impermanence
  • spezielle Kernel- oder Scheduler-Tweaks, falls du sie wirklich brauchst