Initial template repo
This commit is contained in:
@@ -0,0 +1,507 @@
|
||||
# Gaming & Customization Guide
|
||||
|
||||
Anleitung für Gaming-Setup und Customization mit diesem NixOS-Template.
|
||||
|
||||
---
|
||||
|
||||
## Gaming Setup
|
||||
|
||||
### Steam & Gaming aktiv machen
|
||||
|
||||
Dieses Template kommt mit Gaming-Support. Zum Aktivieren:
|
||||
|
||||
**1. Configuration anpassen:**
|
||||
|
||||
```nix
|
||||
# In deiner configuration.nix sicherstellen, dass gaming.nix importiert ist:
|
||||
imports = [
|
||||
./modules/gaming.nix # ✅ sollte schon da sein
|
||||
];
|
||||
```
|
||||
|
||||
**2. Rebuild:**
|
||||
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
### Proton & Steam
|
||||
|
||||
Steam ist automatisch installiert. Für beste Kompatibilität:
|
||||
|
||||
1. **Steam öffnen:**
|
||||
```bash
|
||||
steam
|
||||
```
|
||||
|
||||
2. **Proton wählen (Built-in):**
|
||||
- Settings → Compatibility
|
||||
- "Use Steam Play for other titles" ✅
|
||||
- Version: **Proton (Experimental)** (neueste & beste)
|
||||
|
||||
3. **Proton-GE installieren (Optional, aber empfohlen!):**
|
||||
|
||||
Proton-GE hat bessere Kompatibilität & Performance als Standard Proton.
|
||||
|
||||
**Schnelle Installation (Auto-Script):**
|
||||
```bash
|
||||
cd ~/nixos-config
|
||||
chmod +x install-proton-ge.sh
|
||||
./install-proton-ge.sh
|
||||
# Steam neu starten
|
||||
# Settings → Compatibility → "Proton-GE-X.X" wählen
|
||||
```
|
||||
|
||||
**oder Manuell:**
|
||||
```bash
|
||||
# 1. Download Proton-GE
|
||||
# https://github.com/GloriousEggroll/proton-ge-custom/releases
|
||||
|
||||
# 2. Lade die neuste Version herunter (z.B. Proton-GE-9.xx.tar.gz)
|
||||
|
||||
# 3. Extrahiere in Steam Compatibility Tools:
|
||||
mkdir -p ~/.steam/root/compatibilitytools.d
|
||||
cd ~/.steam/root/compatibilitytools.d
|
||||
tar -xzf ~/Downloads/Proton-GE-9.xx.tar.gz
|
||||
|
||||
# 4. Steam neu starten
|
||||
steam
|
||||
|
||||
# 5. In Steam: Settings → Compatibility → "Proton-GE-9.xx" wählen
|
||||
```
|
||||
|
||||
4. **Proton-CachyOS (Alternative zu Proton-GE):**
|
||||
|
||||
**Auto-Installation:**
|
||||
```bash
|
||||
cd ~/nixos-config
|
||||
chmod +x install-proton-cachyos.sh
|
||||
./install-proton-cachyos.sh
|
||||
```
|
||||
|
||||
**oder Manuell:** Selbe Schritte wie Proton-GE, aber von:
|
||||
https://github.com/CachyOS/proton-cachyos/releases
|
||||
|
||||
5. **Performance-Tools:**
|
||||
```bash
|
||||
# MangoHUD (FPS-Counter) in Launch Options:
|
||||
mangohud %command%
|
||||
|
||||
# GameMode (Auto-Optimierung):
|
||||
gamemoderun %command%
|
||||
|
||||
# Beides zusammen:
|
||||
gamemoderun mangohud %command%
|
||||
```
|
||||
|
||||
6. **Welches Proton verwenden?**
|
||||
|
||||
| Proton | Kompatibilität | Performance | Empfehlung |
|
||||
|--------|---|---|---|
|
||||
| Standard | ✅ Gut | ✅ Gut | OK |
|
||||
| **Proton-GE** | **✅✅ Sehr gut** | **✅✅ Sehr gut** | **🏆 Empfohlen** |
|
||||
| Proton-CachyOS | ✅✅ Sehr gut | ✅✅ Sehr gut | 🏆 Alternative |
|
||||
| Proton Experimental | ✅ Gut | ✅ Gut | Fallback |
|
||||
|
||||
**Hinweis:** Proton-GE & Proton-CachyOS sind Community-Builds, nicht in nixpkgs. Daher die Auto-Scripts!
|
||||
|
||||
### GPU-Auswahl
|
||||
|
||||
Das Template unterstützt mehrere Grafikkarten. Wähle eine:
|
||||
|
||||
**In `configuration.nix`:**
|
||||
|
||||
```nix
|
||||
# AMD (Standard & empfohlen für Linux Gaming):
|
||||
graphicsConfig = ./modules/graphics/mesa-amd.nix;
|
||||
|
||||
# AMD mit OpenCL:
|
||||
graphicsConfig = ./modules/graphics/mesa-amd-opencl.nix;
|
||||
|
||||
# NVIDIA (Proprietäre Treiber):
|
||||
graphicsConfig = ./modules/graphics/nvidia.nix;
|
||||
|
||||
# NVIDIA Open-Source:
|
||||
graphicsConfig = ./modules/graphics/nvidia-open.nix;
|
||||
```
|
||||
|
||||
**Danach Rebuild:**
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
### Gaming-Performance Check
|
||||
|
||||
```bash
|
||||
# GameMode Status:
|
||||
gamemode status
|
||||
|
||||
# GPU-Infos:
|
||||
glxinfo | grep "OpenGL"
|
||||
lspci | grep VGA
|
||||
|
||||
# Performance-Test:
|
||||
glmark2
|
||||
```
|
||||
|
||||
### Wine & Proton
|
||||
|
||||
Für non-Steam Spiele (GOG, itch.io):
|
||||
|
||||
**Installiert über `modules/gaming/wine-proton.nix`:**
|
||||
|
||||
```bash
|
||||
# Wine eingebaut
|
||||
protontricks
|
||||
|
||||
# Beispiel: DXVK-Game starten
|
||||
wine game.exe
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Desktop Auswahl & Customization
|
||||
|
||||
### Desktop Environment wählen
|
||||
|
||||
Das Template kommt mit mehreren DEs. Wähle deine:
|
||||
|
||||
**In `configuration.nix`:**
|
||||
|
||||
```nix
|
||||
# KDE Plasma (Empfohlen für Balance):
|
||||
desktopConfig = ./modules/desktop/kde.nix;
|
||||
|
||||
# GNOME (Minimal, modern):
|
||||
desktopConfig = ./modules/desktop/gnome.nix;
|
||||
|
||||
# Budgie (Zwischen KDE & GNOME):
|
||||
desktopConfig = ./modules/desktop/budgie.nix;
|
||||
|
||||
# Hyprland (Tiling WM, Advanced):
|
||||
desktopConfig = ./modules/desktop/hyprland.nix;
|
||||
|
||||
# COSMIC (Modern, Wayland-native):
|
||||
desktopConfig = ./modules/desktop/cosmic-max.nix;
|
||||
```
|
||||
|
||||
**Rebuild:**
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
### KDE Plasma Customization
|
||||
|
||||
**Themes & Appearance:**
|
||||
1. System Settings → Appearance
|
||||
2. Wähle: Global Theme, Color Scheme, Icons, Fonts
|
||||
|
||||
**Panel anpassen:**
|
||||
- Rechtsklick auf Panel → Edit Panel
|
||||
- Widgets hinzufügen/entfernen
|
||||
- Position/Größe ändern
|
||||
|
||||
**Shortcuts:**
|
||||
1. System Settings → Shortcuts & Gestures → Shortcuts
|
||||
2. Neue Shortcuts hinzufügen
|
||||
|
||||
**Tipps:**
|
||||
```bash
|
||||
# KDE-Themes aus Online-Store:
|
||||
# Settings → Appearance → Global Theme → "Get New Global Themes"
|
||||
```
|
||||
|
||||
### Hyprland Customization
|
||||
|
||||
**Konfiguration Edit:**
|
||||
```bash
|
||||
nano ~/.config/hypr/hyprland.conf
|
||||
```
|
||||
|
||||
**Basis-Setup:**
|
||||
```conf
|
||||
# Monitor
|
||||
monitor = HDMI-1,1920x1080@60,0x0,1
|
||||
|
||||
# Keybinds
|
||||
bind = $mainMod, Return, exec, kitty
|
||||
bind = $mainMod, Q, killactive
|
||||
|
||||
# Windows
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
}
|
||||
```
|
||||
|
||||
**Nach Änderung:**
|
||||
```bash
|
||||
# Hyprland neustart (ohne Neuboot)
|
||||
Ctrl+Alt+Q
|
||||
```
|
||||
|
||||
### COSMIC Customization
|
||||
|
||||
**Desktop-Themes:**
|
||||
1. Settings → Appearance
|
||||
2. Theme/Color wählen
|
||||
3. Accent Color anpassen
|
||||
|
||||
**Shortcuts (neue):**
|
||||
1. Settings → Keyboard → Shortcuts
|
||||
2. "+" klicken
|
||||
3. Command & Hotkey definieren
|
||||
|
||||
---
|
||||
|
||||
## Allgemeine Customization
|
||||
|
||||
### Packages hinzufügen
|
||||
|
||||
Benutzerdefinierte Pakete in `modules/packages.nix`:
|
||||
|
||||
```nix
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox # Browser
|
||||
neofetch # System Info
|
||||
htop # Task Manager
|
||||
ripgrep # Fast Search
|
||||
bat # Better cat
|
||||
];
|
||||
```
|
||||
|
||||
**Rebuild:**
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
### Audio anpassen
|
||||
|
||||
**PipeWire (Standard):**
|
||||
```bash
|
||||
# Audio-Ausgabe wechseln:
|
||||
pavucontrol
|
||||
|
||||
# Oder Kommandozeile:
|
||||
pactl list short sinks
|
||||
pactl set-default-sink [SINK]
|
||||
```
|
||||
|
||||
### Shell anpassen
|
||||
|
||||
**Fish Shell aktivieren:**
|
||||
|
||||
```nix
|
||||
# In configuration.nix:
|
||||
users.users.${userName}.shell = pkgs.fish;
|
||||
```
|
||||
|
||||
**Fish Config** (`~/.config/fish/config.fish`):
|
||||
```fish
|
||||
# Aliases
|
||||
alias ls="exa --icons"
|
||||
alias cat="bat"
|
||||
alias grep="ripgrep"
|
||||
|
||||
# Prompt anpassen
|
||||
function fish_prompt
|
||||
echo (pwd) "> "
|
||||
end
|
||||
```
|
||||
|
||||
### Terminal-Customization
|
||||
|
||||
**Hyprland Terminal (Kitty):**
|
||||
```bash
|
||||
nano ~/.config/kitty/kitty.conf
|
||||
```
|
||||
|
||||
```ini
|
||||
font_family Monospace
|
||||
font_size 12
|
||||
background #1e1e1e
|
||||
foreground #e0e0e0
|
||||
```
|
||||
|
||||
**KDE Terminal (Konsole):**
|
||||
- Rechtsklick → Settings → Appearance
|
||||
- Theme, Font, Color-Scheme wählen
|
||||
|
||||
---
|
||||
|
||||
## Gaming-Tipps
|
||||
|
||||
### FPS & Performance
|
||||
|
||||
**In-Game FPS anzeigen:**
|
||||
```bash
|
||||
# MangoHUD (alle Spiele):
|
||||
mangohud %command%
|
||||
|
||||
# Steam Launch Options:
|
||||
MANGOHUD=1 %command%
|
||||
```
|
||||
|
||||
**CPU/GPU Monitoring:**
|
||||
```bash
|
||||
# Live Monitoring:
|
||||
watch -n1 "nvidia-smi" # NVIDIA
|
||||
watch -n1 "rocm-smi" # AMD
|
||||
```
|
||||
|
||||
### Shader Cache
|
||||
|
||||
```bash
|
||||
# Cache Location:
|
||||
~/.cache/nvidia-smi # NVIDIA
|
||||
/tmp/mesa_shader_cache # Mesa/AMD
|
||||
|
||||
# Cache Clear (bei Performance-Problemen):
|
||||
rm -rf ~/.cache/nvidia-smi
|
||||
```
|
||||
|
||||
### Proton Experimental
|
||||
|
||||
Beste Kompatibilität, aber weniger stabil:
|
||||
|
||||
1. Steam → Settings → Compatibility
|
||||
2. "Use Steam Play for other titles" ✅
|
||||
3. Wähle: "Proton (Experimental)" oder "Proton-GE-Latest"
|
||||
|
||||
### Spiele-Verzeichnis (Optional)
|
||||
|
||||
Separate HDD/SSD für Spiele:
|
||||
|
||||
```nix
|
||||
# In configuration.nix:
|
||||
environment.variables.STEAM_DIR = "/mnt/games/steam";
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Steam startet nicht
|
||||
|
||||
```bash
|
||||
# Fresh Steam Start:
|
||||
rm -rf ~/.steam ~/.steampath
|
||||
steam
|
||||
|
||||
# Oder Debug:
|
||||
steam -console
|
||||
```
|
||||
|
||||
### Spiel crasht sofort
|
||||
|
||||
1. Unterschiedliche Proton-Version probieren
|
||||
2. Kompatibilität-Verzeichnis löschen:
|
||||
```bash
|
||||
rm -rf ~/.steam/steamapps/compatdata/[GAME_ID]/
|
||||
```
|
||||
3. GPU-Treiber updaten:
|
||||
```bash
|
||||
nix flake update
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
### Black Screen bei Hyprland + NVIDIA
|
||||
|
||||
```bash
|
||||
# NVIDIA mit Hyprland braucht Special Config
|
||||
# Siehe: ~/.config/hypr/hyprland.conf
|
||||
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
```
|
||||
|
||||
### Desktop lädt nicht
|
||||
|
||||
Fallback zu KDE:
|
||||
```bash
|
||||
# Edit configuration.nix:
|
||||
desktopConfig = ./modules/desktop/kde.nix;
|
||||
|
||||
# Terminal (Ctrl+Alt+F2):
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Performance-Tipps
|
||||
|
||||
### Vor Gaming-Session
|
||||
|
||||
```bash
|
||||
# 1. Cleanup
|
||||
sudo nix-collect-garbage
|
||||
|
||||
# 2. Thermale Kühlung prüfen
|
||||
sensors
|
||||
|
||||
# 3. GameMode starten
|
||||
gamemode
|
||||
|
||||
# 4. Prozesse minimieren
|
||||
killall firefox # oder andere Hintergrund-Apps
|
||||
```
|
||||
|
||||
### Nvidia-spezifisch
|
||||
|
||||
```bash
|
||||
# Driver-Info:
|
||||
nvidia-smi
|
||||
|
||||
# Power Limit erhöhen:
|
||||
nvidia-smi -pm 1
|
||||
nvidia-smi -pl [WATTAGE]
|
||||
```
|
||||
|
||||
### AMD-spezifisch
|
||||
|
||||
```bash
|
||||
# GPU Info:
|
||||
rocm-smi
|
||||
|
||||
# Übertaktung (variabler):
|
||||
# Nutze CoreCtrl GUI
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Nützliche Links
|
||||
|
||||
- [NixOS Manual](https://nixos.org/manual/)
|
||||
- [ProtonDB](https://protondb.com/) - Spiel-Kompatibilität checken
|
||||
- [WineHQ](https://www.winehq.org/) - Wine/Proton Docs
|
||||
- [Chaotic-Nyx](https://github.com/chaotic-cx/nyx) - Aktuelle Treiber
|
||||
|
||||
---
|
||||
|
||||
## Tips für Freunde (Kopiervorlage)
|
||||
|
||||
Falls Freunde dein Template nutzen:
|
||||
|
||||
1. **Clone:**
|
||||
```bash
|
||||
git clone <DEIN_REPO> mein-nixos
|
||||
cd mein-nixos
|
||||
```
|
||||
|
||||
2. **Anpassen:**
|
||||
- `hostName` in configuration.nix
|
||||
- `userName` ändern
|
||||
- `desktopConfig` & `graphicsConfig` wählen
|
||||
|
||||
3. **Build:**
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake .#template
|
||||
```
|
||||
|
||||
4. **Docs lesen:**
|
||||
- [`COSMIC_SETUP_ANLEITUNG.md`](COSMIC_SETUP_ANLEITUNG.md) (falls COSMIC)
|
||||
- Dieses Guide (Gaming & Customization)
|
||||
|
||||
---
|
||||
|
||||
**Viel Erfolg beim Customizen! 🚀**
|
||||
Reference in New Issue
Block a user