2026-06-10 19:59:29 +02:00
2026-06-10 19:59:29 +02:00
2026-06-10 19:59:29 +02:00
2026-06-10 19:34:36 +02:00
2026-06-10 18:36:32 +02:00
2026-06-10 19:59:29 +02:00

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/mesa-amd-opencl.nix: AMD mit AMDVLK + OpenCL/ROCm
  • modules/graphics/nvidia.nix: Nvidia-Treiber Basis mit proprietären Modulen
  • modules/graphics/nvidia-open.nix: Nvidia mit offenen Kernel-Modulen
  • modules/audio/pipewire.nix: PipeWire, JACK, Pulse, Audio-Tools
  • modules/gaming.nix: Steam, Gamescope, Launcher-Stack
  • modules/gaming/wine-proton.nix: Wine-, Proton- und Compatibility-Tools
  • 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 und GPU auswählen

Die Auswahl passiert direkt oben in configuration.nix. Du änderst nur diese beiden Zeilen:

desktopConfig = ./modules/desktop/kde.nix;
graphicsConfig = ./modules/graphics/mesa-amd.nix;

Für den Desktop sind diese Werte möglich:

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

Für die GPU bzw. den Treiber sind diese Werte möglich:

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

Beispiele:

KDE + AMD

desktopConfig = ./modules/desktop/kde.nix;
graphicsConfig = ./modules/graphics/mesa-amd.nix;

KDE + AMD mit OpenCL/AMDVLK

desktopConfig = ./modules/desktop/kde.nix;
graphicsConfig = ./modules/graphics/mesa-amd-opencl.nix;

GNOME + Nvidia

desktopConfig = ./modules/desktop/gnome.nix;
graphicsConfig = ./modules/graphics/nvidia.nix;

Hyprland + Nvidia

desktopConfig = ./modules/desktop/hyprland.nix;
graphicsConfig = ./modules/graphics/nvidia.nix;

KDE + Nvidia Open Kernel Module

desktopConfig = ./modules/desktop/kde.nix;
graphicsConfig = ./modules/graphics/nvidia-open.nix;

Es wird dabei immer genau ein Desktop-Modul und genau ein Grafik-Modul importiert, nicht alle auf einmal. In modules/graphics/nvidia.nix sind modesetting, nvidiaSettings und nvidiaPackages.latest bereits gesetzt.

Empfehlung für AMD

  • mesa-amd.nix ist die einfachste und sinnvollste Standardwahl für die meisten Gaming-Systeme mit AMD.
  • mesa-amd-opencl.nix ist interessant, wenn du zusätzlich OpenCL/ROCm brauchst oder explizit AMDVLK testen willst.
  • Wenn du nur spielen willst und keinen speziellen Compute- oder Vulkan-Workaround brauchst, nimm zuerst mesa-amd.nix.

Empfehlung für Nvidia

  • nvidia.nix ist die Standardwahl für die meisten Systeme, wenn du maximale Kompatibilität mit aktuellen Spielen willst.
  • nvidia-open.nix ist für Systeme gedacht, auf denen du die offenen Nvidia-Kernel-Module nutzen möchtest.
  • Wenn du nicht gezielt testen willst, nimm zuerst nvidia.nix.

Wine und Proton

Die Wine-/Proton-Helfer liegen jetzt in modules/gaming/wine-proton.nix und werden automatisch über modules/gaming.nix importiert.

Enthalten sind aktuell:

  • wineWowPackages.stable
  • winetricks
  • protontricks
  • protonup-qt
  • umu-launcher
  • dxvk
  • vkd3d-proton
  • steam-run

Damit hast du direkt die typischen Werkzeuge für:

  • Steam Proton mit protontricks
  • zusätzliche Compatibility Tools über protonup-qt
  • Wine-/Non-Steam-Starts über umu-launcher
  • manuelles Debugging und Prefix-Arbeit mit winetricks

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. In configuration.nix desktopConfig und graphicsConfig auf die gewünschten Module setzen.
  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
S
Description
NixOS system configuration
Readme 45 KiB
Languages
Nix 100%