linux

NixOS erklärt: Reproduzierbare Systeme

NixOS 2026 erklärt: Was ist NixOS, wie funktioniert deklarative Systemkonfiguration und warum ist es die Zukunft von Linux?

von Ultrion Redaktion2026-08-074 Min Lesezeit
Werbung (AdSense — In-Article)


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:

  • Deklarativ: Sie beschreiben den Zielzustand, nicht den Weg dorthin

  • Reproduzierbar: Dieselbe Konfiguration erzeugt dasselbe System — auf jeder Hardware

  • Atomar: Änderungen werden komplett oder gar nicht angewendet

  • Rollback-fähig: Jede Konfigurationsänderung erzeugt eine neue Generation
  • 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

    `bash

    Konfiguration 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 --rollback

    Alle 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.

    Werbung (AdSense — In-Article Bottom)

    Verwandte Artikel