NixOS erklärt: Reproduzierbare Systeme
NixOS ist wie kein anderes Linux. Statt Pakete zu installieren und Konfiguration zu ändern, beschreiben Sie Ihr gesamtes System in einer Datei. Ein nixos-rebuild switch und das System ist exakt so, wie beschrieben. Das ist deklarative Systemadministration.
Was ist NixOS?
NixOS ist eine Linux-Distribution, die auf dem Nix-Paketmanager aufbaut. Sie wurde von Eelco Dolstra an der Universität Utrecht entwickelt und verfolgt einen radikal anderen Ansatz:
Wie Nix funktioniert
Der Nix Store
Alle Pakete liegen in /nix/store/ mit einem Hash:
```
/nix/store/a3b4c5d6...-firefox-115.0
/nix/store/e7f8g9h0...-firefox-116.0
Verschiedene Versionen existieren parallel. Keine Konflikte, kein "Dependency Hell".
Deklarative Konfiguration
Ein komplettes NixOS-System in /etc/nixos/configuration.nix:
`nix
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
networking.hostName = "my-nixos";
networking.networkmanager.enable = true;
# Benutzer
users.users.myuser = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
};
# Pakete systemweit installieren
environment.systemPackages = with pkgs; [
vim
git
firefox
vscode
docker
];
# Services aktivieren
services.openssh.enable = true;
services.printing.enable = true;
# Docker
virtualisation.docker.enable = true;
# Desktop
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Audio
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
system.stateVersion = "25.05";
}
`
System aktualisieren
`bashKonfiguration anwenden
sudo nixos-rebuild switch
Ohne zu wechseln (testen)
sudo nixos-rebuild test
Neue Generation erzeugen, aber nicht aktivieren
sudo nixos-rebuild build
`
Rollback
Jedes
nixos-rebuild switch erzeugt eine neue Generation. Rollback:`bash
Zur vorherigen Generation
sudo nixos-rebuild switch --rollbackAlle Generationen anzeigen
nix-env --list-generations --profile /nix/var/nix/profiles/system
`Das gibt Ihnen die Sicherheit, jedes Update rückgängig zu machen — inklusive Kernel-Updates.
Home Manager
Home Manager bringt NixOS-Prinzipien auf die User-Ebene:
`nix
home.nix
{ pkgs, ... }:{
home.username = "myuser";
home.homeDirectory = "/home/myuser";
home.stateVersion = "25.05";
home.packages = with pkgs; [
ripgrep
fd
bat
eza
];
programs.git = {
enable = true;
userName = "Mein Name";
userEmail = "me@email.de";
};
programs.zsh.enable = true;
programs.tmux.enable = true;
}
`Ein Befehl konfiguriert Dotfiles, Pakete und Shell komplett.
Flakes
Flakes sind der moderne Weg, NixOS zu konfigurieren:
`
my-system/
flake.nix
hosts/
laptop/configuration.nix
desktop/configuration.nix
home/
common.nix
laptop.nix
``nix
flake.nix
{
description = "My NixOS configuration"; inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
home-manager.url = "github:nix-community/home-manager";
};
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
nixosConfigurations.laptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/laptop/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
};
}
`Vorteile von Flakes:
Versionierte Inputs ( flake.lock)
Reproduzierbare Builds
Mehrere Maschinen in einem Repo
Teilen von Konfiguration zwischen Systemen NixOS im Vergleich
| Eigenschaft | NixOS | Ubuntu | Arch |
|-------------|-------|--------|------|
| Deklarativ | ✅ | ❌ | ❌ |
| Rollback | ✅ | ❌ | ❌ |
| Reproduzierbar | ✅ | ❌ | Bedingt |
| Paketanzahl | 100.000+ | 30.000 | 80.000+ |
| Lernkurve | Steil | Flach | Mittel |
| Stabilität | Sehr hoch | Hoch | Rolling |
FAQ
Ist NixOS für Anfänger geeignet?
Mit grafischem Installer (Kalpa) ja. Aber die Konfiguration erfordert Lernbereitschaft. Empfehlung: Erst auf einer VM oder einem Zweitgerät testen.Kann ich normale Linux-Software installieren?
Ja. Entweder über nixpkgs (100.000+ Pakete), als Flatpak, oder über nix-ld für vorkompilierte Binaries.Lohnt sich der Umstieg?
Für Entwickler und Sysadmins: absolut. Einmal konfiguriert, können Sie Ihr System mit einer Datei auf jedem Rechner reproduzieren. Für Gelegenheitsnutzer: eher nicht.NixOS auf dem Server?
Sehr beliebt. Deklarative Server-Konfiguration, Rollback, und ein nixos-rebuild` aktualisiert alles. Viele Hosting-Provider bieten NixOS an.Fazit
NixOS ist die Zukunft von Linux-Systemadministration. Deklarative Konfiguration, atomare Updates und Rollback-Fähigkeit lösen Probleme, die andere Distributionen seit Jahrzehnten haben. Die Lernkurve ist steil, aber der ROI ist enorm — wer einmal NixOS erlebt hat, will nicht mehr zurück.