4.9 KiB
Caution
⚠️ Wichtige Hinweise zur Bootfähigkeit
zwingend manuell anpassen
- Hardware-Konfiguration.nix: Die Datei
hardware-configuration.nixmuss für jedes Gerät individuell generiert werden. (Generierte vom System nehmen)- Hibernation.nix: Die Werte für
boot.resumeDevice(UUID) undresume_offsetin dermodules/hibernation.nixsind physikalisch an die aktuelle Festplatte gebunden. (erstmal auskommentieren in configuration.nix dann anpassen)- nvidia.nix: Muss angepasst je nach GPU
- boot.nix: nutzt drm nvidia treiber muss ausgetauscht werden initdr anpassen ob amd oder nvidia!
- Virtualisierung.nix: Die USB-IDs für die Kinesis-Tastatur und Keychron-Maus in der
modules/virtualization.nixfunktionieren nur mit diesen spezifischen Geräten. (erstmal egal)
███╗ ██╗██╗██╗ ██╗ ██████╗ ███████╗
████╗ ██║██║╚██╗██╔╝██╔═══██╗██╔════╝
██╔██╗ ██║██║ ╚███╔╝ ██║ ██║███████╗
██║╚██╗██║██║ ██╔██╗ ██║ ██║╚════██║
██║ ╚████║██║██╔╝ ██╗╚██████╔╝███████║
╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
❄️ Nils' Modular NixOS Config
TODO
-
Waybar reload Tray spawn beheben
-
swaync dynamisch reloading
Struktur
Die Konfiguration ist in logische Module unterteilt, um die Wartung und Übertragbarkeit zu erleichtern:
configuration.nix: Zentraler Einstiegspunkt für das System.
modules/: Systemweite Konfigurationen (Boot, NVIDIA, Virtualisierung, Hibernation).
home/: Benutzerspezifische Konfigurationen via Home-Manager (Hyprland, Waybar, App-Configs).
icons-wallpapers/: Icons, Wallpapers und System-Assets.
templates/: Vorlagen für die dynamische Farberzeugung mit Matugen.
Installation & Setup
1. Repository klonen
git clone https://github.com/DEIN_USERNAME/nixos-config.git ~/nixos
cd ~/nixos
2. Symlink erstellen
NixOS erwartet seine Konfiguration standardmäßig unter /etc/nixos. Wir verlinken unser lokales Verzeichnis dorthin:
sudo ln -s /home/nils/nixos /etc/nixos
3. Konfiguration anwenden
Verwende für normale Änderungen switch. Wenn du jedoch Kernel-Parameter (wie für Hibernate) oder den Bootloader änderst, ist der boot-Befehl sicherer:
# Empfohlen nach Änderungen an der hibernation.nix oder boot.nix:
sudo nixos-rebuild boot --flake .#nixos
Updates & Wartung
Um die externen Programme und das Basissystem (nixpkgs) auf den neuesten Stand zu bringen, müssen die Flake-Inputs aktualisiert werden:
- Inputs aktualisieren:
nix flake update
Dieser Befehl prüft alle Quellen in der flake.nix auf Aktualisierungen und schreibt die neuen Versionen in die flake.lock.
- Änderung registrieren:
git add flake.lock
- System aktualisieren:
sudo nixos-rebuild switch --flake .#nixos
Workflow
Wenn du Änderungen vornimmst, folge immer diesem Ablauf:
- Dateien bearbeiten (in
/home/nils/nixos). - Änderungen registrieren:
git add .(Ohne diesen Schritt findet NixOS neue Dateien oder Änderungen in Flakes nicht!). - Anwenden:
sudo nixos-rebuild switch --flake .#nixos(für sofortige Änderungen).sudo nixos-rebuild boot --flake .#nixos(schreibt den Boot-Eintrag für den nächsten Neustart).
Was wurde ergänzt?
- Pfad-Klarheit: Es wird explizit auf
/home/nils/nixoshingewiesen. - Git-Pflicht: Der Hinweis auf
git initund die Notwendigkeit vongit addfür Flakes ist jetzt prominenter. - Boot-Befehl: Die Unterscheidung zwischen
switchundbootwurde hinzugefügt, da du für das Hibernation-Setup zwingend denboot-Parameter benötigst, um die Kernel-Parameter (resume_offset) im Bootloader zu registrieren.
Soll ich noch einen Abschnitt hinzufügen, wie man überprüft, ob der Symlink korrekt gesetzt wurde?
3. Hardware-Konfiguration
Die hardware-configuration.nix ist spezifisch für jedes Gerät. Sie wird automatisch generiert und sollte im Hauptverzeichnis bleiben.
-
Die Datei wird beim ersten Setup automatisch eingebunden.
-
Wichtig: Falls du das System auf neuer Hardware aufsetzt, generiere sie mit
nixos-generate-configneu.
4. Konfiguration anwenden
sudo nixos-rebuild switch --flake .#nixos



