Update
This commit is contained in:
@@ -5,13 +5,14 @@ Diese Basis-Config ist für ein Desktop-System mit
|
|||||||
- Intel Core i9-13900KF
|
- Intel Core i9-13900KF
|
||||||
- AMD Radeon RX 9070 XT
|
- AMD Radeon RX 9070 XT
|
||||||
|
|
||||||
ausgelegt und nutzt jetzt `nixos-unstable`, `Chaotic-Nyx` und COSMIC als Wayland-Desktop. Fokus:
|
ausgelegt und nutzt `nixos-unstable`, `Chaotic-Nyx` und eine waehlbare Desktop-Umgebung. Fokus:
|
||||||
|
|
||||||
- aktueller Kernel
|
- aktueller Kernel
|
||||||
- AMD-Grafik mit Chaotic `mesa-git` und 32-Bit-Libs für Steam/Proton
|
- AMD-Grafik mit Chaotic `mesa-git` und 32-Bit-Libs für Steam/Proton
|
||||||
- PipeWire + Gaming-/Desktop-Audio-Tools
|
- PipeWire + Gaming-/Desktop-Audio-Tools
|
||||||
- Steam, Gamescope, MangoHud, Lutris, Heroic, LACT
|
- Steam, Gamescope, MangoHud, Lutris, Heroic, LACT
|
||||||
- RGB- und Peripherie-Basis für deine USB-Geräte
|
- RGB- und Peripherie-Basis fuer deine USB-Geraete
|
||||||
|
- Desktop-Auswahl zwischen KDE, GNOME, Budgie und Hyprland
|
||||||
|
|
||||||
## Struktur
|
## Struktur
|
||||||
|
|
||||||
@@ -22,7 +23,11 @@ ausgelegt und nutzt jetzt `nixos-unstable`, `Chaotic-Nyx` und COSMIC als Wayland
|
|||||||
- `modules/graphics/mesa-amd.nix`: AMDGPU + Mesa/RADV Basis
|
- `modules/graphics/mesa-amd.nix`: AMDGPU + Mesa/RADV Basis
|
||||||
- `modules/audio/pipewire.nix`: PipeWire, JACK, Pulse, Audio-Tools
|
- `modules/audio/pipewire.nix`: PipeWire, JACK, Pulse, Audio-Tools
|
||||||
- `modules/gaming.nix`: Steam, Gamescope, Wine/Launcher-Stack
|
- `modules/gaming.nix`: Steam, Gamescope, Wine/Launcher-Stack
|
||||||
- `modules/desktop/cosmic.nix`: COSMIC Desktop + COSMIC Greeter
|
- `modules/desktop/default.nix`: Desktop-Auswahl ueber `profiles.desktop`
|
||||||
|
- `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`: OpenRGB, Logitech/Corsair-nahe Tools, USB-Helfer
|
||||||
|
|
||||||
## USB-Bezug
|
## USB-Bezug
|
||||||
@@ -36,13 +41,28 @@ Die Config berücksichtigt diese aktuell erkannten Geräte:
|
|||||||
|
|
||||||
Daraus folgen aktuell:
|
Daraus folgen aktuell:
|
||||||
|
|
||||||
- `openrgb` + `hardware.i2c.enable` für RGB-/Board-Zugriff
|
- `openrgb` + `hardware.i2c.enable` fuer RGB-/Board-Zugriff
|
||||||
- `ratbagd` + `piper` für Logitech-Gaming-Peripherie
|
- `ratbagd` + `piper` fuer Logitech-Gaming-Peripherie
|
||||||
- `solaar`, `usbutils`, `pciutils` für Device-Handling und Diagnose
|
- `solaar`, `usbutils`, `pciutils` fuer Device-Handling und Diagnose
|
||||||
- PipeWire-Setup für das Scarlett Solo
|
- PipeWire-Setup für das Scarlett Solo
|
||||||
- COSMIC als Wayland-Desktop mit `cosmic-greeter`
|
- waehlbarer Desktop via `profiles.desktop`
|
||||||
- Chaotic `mesa-git` mit Fallback-Spezialisierung `stable-mesa`
|
- Chaotic `mesa-git` mit Fallback-Spezialisierung `stable-mesa`
|
||||||
|
|
||||||
|
## Desktop auswaehlen
|
||||||
|
|
||||||
|
Die Auswahl passiert zentral in `configuration.nix`:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
profiles.desktop = "kde";
|
||||||
|
```
|
||||||
|
|
||||||
|
Gueltige Werte sind:
|
||||||
|
|
||||||
|
- `"kde"`
|
||||||
|
- `"gnome"`
|
||||||
|
- `"budgie"`
|
||||||
|
- `"hyprland"`
|
||||||
|
|
||||||
## Chaotic-Nyx Hinweis
|
## Chaotic-Nyx Hinweis
|
||||||
|
|
||||||
Die Flake bindet `github:chaotic-cx/nyx/nyxpkgs-unstable` direkt ein und importiert
|
Die Flake bindet `github:chaotic-cx/nyx/nyxpkgs-unstable` direkt ein und importiert
|
||||||
@@ -53,19 +73,20 @@ Die Flake bindet `github:chaotic-cx/nyx/nyxpkgs-unstable` direkt ein und importi
|
|||||||
|
|
||||||
1. Die vom Installer erzeugte `hardware-configuration.nix` nach `./hardware-configuration.nix` kopieren.
|
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.
|
2. Falls nötig `users.users.max` und `networking.hostName` in `configuration.nix` anpassen.
|
||||||
3. Passwort für den Benutzer setzen:
|
3. Gewuenschten Desktop ueber `profiles.desktop` in `configuration.nix` setzen.
|
||||||
|
4. Passwort fuer den Benutzer setzen:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
passwd max
|
passwd max
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Flake lock erstellen:
|
5. Flake lock erstellen:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix flake lock
|
nix flake lock
|
||||||
```
|
```
|
||||||
|
|
||||||
5. System aktivieren:
|
6. System aktivieren:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nixos-rebuild switch --flake .#nixos-gaming
|
sudo nixos-rebuild switch --flake .#nixos-gaming
|
||||||
@@ -73,7 +94,7 @@ sudo nixos-rebuild switch --flake .#nixos-gaming
|
|||||||
|
|
||||||
## Späterer Ausbau
|
## Späterer Ausbau
|
||||||
|
|
||||||
- COSMIC weiter tunen, z. B. Autologin, Keyring-Policy, Flatpak
|
- Desktop-spezifische Pakete und Defaults weiter tunen, z. B. Autologin, Keyring-Policy, Flatpak
|
||||||
- OBS / Discord / OpenRGB-Profile / Fancontrol
|
- OBS / Discord / OpenRGB-Profile / Fancontrol
|
||||||
- Btrfs-Subvolumes, Snapshots, Impermanence
|
- Btrfs-Subvolumes, Snapshots, Impermanence
|
||||||
- spezielle Kernel- oder Scheduler-Tweaks, falls du sie wirklich brauchst
|
- spezielle Kernel- oder Scheduler-Tweaks, falls du sie wirklich brauchst
|
||||||
|
|||||||
+4
-1
@@ -7,13 +7,16 @@
|
|||||||
./modules/audio/pipewire.nix
|
./modules/audio/pipewire.nix
|
||||||
./modules/chaotic-nyx.nix
|
./modules/chaotic-nyx.nix
|
||||||
./modules/graphics/mesa-amd.nix
|
./modules/graphics/mesa-amd.nix
|
||||||
./modules/desktop/cosmic.nix
|
./modules/desktop
|
||||||
./modules/gaming.nix
|
./modules/gaming.nix
|
||||||
./modules/peripherals.nix
|
./modules/peripherals.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "nixos-gaming";
|
networking.hostName = "nixos-gaming";
|
||||||
|
|
||||||
|
profiles.desktop = "kde";
|
||||||
|
# Moegliche Werte: "kde" "gnome" "budgie" "hyprland"
|
||||||
|
|
||||||
users.users.max = {
|
users.users.max = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "max";
|
description = "max";
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.profiles.desktop == "budgie") {
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.desktopManager.budgie.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./budgie.nix
|
||||||
|
./gnome.nix
|
||||||
|
./hyprland.nix
|
||||||
|
./kde.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
options.profiles.desktop = lib.mkOption {
|
||||||
|
type = lib.types.enum [
|
||||||
|
"kde"
|
||||||
|
"gnome"
|
||||||
|
"budgie"
|
||||||
|
"hyprland"
|
||||||
|
];
|
||||||
|
default = "kde";
|
||||||
|
example = "hyprland";
|
||||||
|
description = "Waehlt die Desktop-Umgebung fuer dieses System aus.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.environment.systemPackages = with pkgs; [
|
||||||
|
seahorse
|
||||||
|
wayland-utils
|
||||||
|
wl-clipboard
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.profiles.desktop == "gnome") {
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.displayManager.gdm.enable = true;
|
||||||
|
services.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome-tweaks
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.profiles.desktop == "hyprland") {
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
dunst
|
||||||
|
kitty
|
||||||
|
waybar
|
||||||
|
wofi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.profiles.desktop == "kde") {
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user