Update
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
# NixOS Gaming Base
|
||||
|
||||
Diese Basis-Config ist für ein Desktop-System mit
|
||||
|
||||
- Intel Core i9-13900KF
|
||||
- AMD Radeon RX 9070 XT
|
||||
|
||||
ausgelegt und nutzt `nixos-unstable`, `Chaotic-Nyx` und eine waehlbare Desktop-Umgebung. Fokus:
|
||||
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
|
||||
- AMD-Grafik mit Chaotic `mesa-git` und 32-Bit-Libs für Steam/Proton
|
||||
- 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
|
||||
- RGB- und Peripherie-Basis fuer deine USB-Geraete
|
||||
- Basis für RGB- und Gaming-Peripherie
|
||||
- Desktop-Auswahl zwischen KDE, GNOME, Budgie und Hyprland
|
||||
|
||||
## Struktur
|
||||
@@ -19,49 +15,63 @@ ausgelegt und nutzt `nixos-unstable`, `Chaotic-Nyx` und eine waehlbare Desktop-U
|
||||
- `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/default.nix`: Desktop-Auswahl ueber `profiles.desktop`
|
||||
- `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`: OpenRGB, Logitech/Corsair-nahe Tools, USB-Helfer
|
||||
- `modules/peripherals.nix`: RGB-, Maus- und USB-Helfer
|
||||
|
||||
## USB-Bezug
|
||||
## Vorlage anpassen
|
||||
|
||||
Die Config berücksichtigt diese aktuell erkannten Geräte:
|
||||
|
||||
- `048d:5702` ITE RGB LED Controller
|
||||
- `1235:8211` Focusrite Scarlett Solo 3rd Gen
|
||||
- `1b1c:1bfd` Corsair K70 CORE RGB
|
||||
- `046d:c539` Logitech Lightspeed Receiver
|
||||
|
||||
Daraus folgen aktuell:
|
||||
|
||||
- `openrgb` + `hardware.i2c.enable` fuer RGB-/Board-Zugriff
|
||||
- `ratbagd` + `piper` fuer Logitech-Gaming-Peripherie
|
||||
- `solaar`, `usbutils`, `pciutils` fuer Device-Handling und Diagnose
|
||||
- PipeWire-Setup für das Scarlett Solo
|
||||
- waehlbarer Desktop via `profiles.desktop`
|
||||
- Chaotic `mesa-git` mit Fallback-Spezialisierung `stable-mesa`
|
||||
|
||||
## Desktop auswaehlen
|
||||
|
||||
Die Auswahl passiert zentral in `configuration.nix`:
|
||||
Die wichtigsten Platzhalter stehen direkt in `configuration.nix`:
|
||||
|
||||
```nix
|
||||
profiles.desktop = "kde";
|
||||
hostName = "example-host";
|
||||
userName = "gamer";
|
||||
fullName = "Gaming User";
|
||||
```
|
||||
|
||||
Gueltige Werte sind:
|
||||
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.
|
||||
|
||||
- `"kde"`
|
||||
- `"gnome"`
|
||||
- `"budgie"`
|
||||
- `"hyprland"`
|
||||
## Desktop auswählen
|
||||
|
||||
Die Auswahl passiert zentral in `configuration.nix` über `desktopConfig`:
|
||||
|
||||
```nix
|
||||
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`:
|
||||
|
||||
```nix
|
||||
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
|
||||
|
||||
@@ -72,24 +82,25 @@ Die Flake bindet `github:chaotic-cx/nyx/nyxpkgs-unstable` direkt ein und importi
|
||||
## Nach der Installation
|
||||
|
||||
1. Die vom Installer erzeugte `hardware-configuration.nix` nach `./hardware-configuration.nix` kopieren.
|
||||
2. Falls nötig `users.users.max` und `networking.hostName` in `configuration.nix` anpassen.
|
||||
3. Gewuenschten Desktop ueber `profiles.desktop` in `configuration.nix` setzen.
|
||||
4. Passwort fuer den Benutzer setzen:
|
||||
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:
|
||||
|
||||
```bash
|
||||
passwd max
|
||||
passwd <dein-userName>
|
||||
```
|
||||
|
||||
5. Flake lock erstellen:
|
||||
6. Flake lock erstellen:
|
||||
|
||||
```bash
|
||||
nix flake lock
|
||||
```
|
||||
|
||||
6. System aktivieren:
|
||||
7. System aktivieren:
|
||||
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#nixos-gaming
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
## Späterer Ausbau
|
||||
|
||||
Reference in New Issue
Block a user