Weitere Benutzer werden anlegt – am Beispiel eines Gastnutzers und einer neuen regulären Benutzerin. Nebeneffekt des heutigen Setups: Heute wird nochmal ganz klar, welche "Nixe" für was zuständig ist.
Nochmal kurz in Erinnerung gerufen: NixOS trennt sauber zwischen zwei Ebenen:
| Ebene | Wer verwaltet |
|---|---|
System (configuration.nix, flake.nix) |
Admin (sudo) |
Benutzerumgebung (home.nix) |
Benutzer selbst |
Diese Trennung ermöglicht zwei sehr unterschiedliche Szenarien:
Einen Gastnutzer ohne Passwort dessen Umgebung der Admin vollständig
kontrolliert, und eine eigenständige Benutzerin die ihre Konfiguration
selbst verwaltet.
Im Beispiel habe ich die zusätzliche Nutzerin "Anna" getauft.
| Anna | Gast | |
|---|---|---|
| Eigene Programme installieren und updaten | ✅ selbst | ❌ nur Admin |
| Desktop-Einstellungen ändern | ✅ | ✅ |
Der Unterschied zwischen den zwei Szenarien
Anna (Standalone): Anna hat ihren eigenen unabhängigen Home Manager der nichts mit der flake.nix zu tun hat. Sie führt home-manager switch selbst aus.
Für Anna braucht NixOS nur zwei Dinge zu wissen:
- Dass der Benutzer
annaexistiert →configuration.nix - Welches Passwort sie hat →
sudo passwd anna
Alles andere – ihre Programme, ihr Theme, ihre Shell – ist Annas Privatangelegenheit und wird von ihr selbst über home-manager switch geregelt.
Gastnutzer (als NixOS-Modul): Hier definierst du, neben der configuration.nix, in der flake.nix, wie du mit Gästen umgehen möchtest. Du sagt NixOS: „Verwalte die Benutzerumgebung von gast mit dieser Datei (home-gast.nix)." NixOS baut die Gast-Umgebung beim nixos-rebuild dann automatisch ein.
Konfigurationsdateien zum Download
Wer das so umsetzen möchte, kann sich eine home-gast.nix, die home-anna.nix und einen Vorschlag für eine Nutzeranleitung HIER herunterladen.
Szenario A: Gastnutzer anlegen
Der Gastnutzer betritt das System ohne Passwort und bekommt eine feste
Ausstattung (Firefox, Thunderbird, LibreOffice) die nur der Admin ändern kann.
Schritt 1: Gastnutzer in configuration.nix anlegen
# In configuration.nix
users.users.gast = {
isNormalUser = true;
description = "Gast";
extraGroups = []; # Keine Berechtigungen – kein sudo!
password = ""; # Kein Passwort
};
# Leere Passwörter beim Login erlauben
security.pam.services.gdm-password.allowNullPasswords = true;
security.pam.services.login.allowNullPasswords = true;
Schritt 2: home-gast.nix erstellen
Einen Vorschlag für den Inhalt habe ich dir in einer home-gast.nix für den Download vorbereitet.
Du als Admin legst die Konfiguration des Gastnutzers nach deinen Vorstellungen an, editiere also ruhig meinen Vorschlag:
sudo nano /etc/nixos/home-gast.nix
Schritt 3: flake.nix um den Gastnutzer erweitern
Wenn ein Gastzugang auf allen Rechnern eingerichtet wird, dann geht das ungemein elegant durchg Ergänzen descommon-modules-Block in der flake.nix:
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.users.DEIN-USERNAME = import ./home.nix;
home-manager.users.gast = import ./home-gast.nix; # ← neu
}
Soll nur der Heimrechner (im Beispiel ist der Hostname nixos) mit einem Gastzugang ausgestattet werden, dann statt des obigen Eintrags nur den rechnerspezifischen Block ergänzen:
# Nur auf dem Heimrechner "nixos"
nixos = nixpkgs.lib.nixosSystem {
modules = common-modules ++ [
./nixos.nix
./hardware-configuration.nix
{ home-manager.users.gast = import ./home-gast.nix; } # ← nur hier
];
};
Schritt 4: Dateirechte setzen
Der Gastnutzer bekommt keine Schreibrechte auf seine Konfigurationsdatei –
nur der Admin darf sie ändern:
# home-gast.nix gehört root, kein Schreibrecht für andere
sudo chmod 644 /etc/nixos/home-gast.nix
sudo chown root:root /etc/nixos/home-gast.nix
Schritt 5: Rebuild und sichern
cd /etc/nixos
sudo git add home-gast.nix
update-push
Nach dem Rebuild erscheint gast im (GDM-)Anmeldebildschirm – ohne Passwortfeld,
einfach anklicken und einloggen.
Szenario B: Eigenständige Benutzerin Anna anlegen
Anna bekommt einen vollwertigen Account und verwaltet ihre Konfiguration
komplett selbst – ohne den Admin zu benötigen.
Schritt 1: Anna in configuration.nix anlegen
users.users.anna = {
isNormalUser = true;
description = "Anna";
extraGroups = [ "networkmanager" ]; # Kein "wheel" → kein sudo!
};
Kein
wheelinextraGroups– Anna bekommt kein sudo und kann damit
wedernixos-rebuildnoch Systemdateien ändern.
Schritt 2: Rebuild damit der Account existiert
update-push
Schritt 3: Passwort für Anna setzen
sudo passwd anna
Schritt 4: Initiale home-anna.nix vorbereiten
Wie eine home-anna.nix aussehen kann, habe ich ebenfalls als Download vorbereitet.
Du als Admin legst Annas initiale Konfiguration in ihrem Home-Verzeichnis ab:
sudo mkdir -p /home/anna/.config/home-manager
sudo cp /etc/nixos/home-anna.nix /home/anna/.config/home-manager/home.nix
sudo chown -R anna:users /home/anna/.config/home-manager
Anna bekommt damit eine fertige Startumgebung – alle auskommentierten
Programme kann sie nach Belieben selbst aktivieren.
Schritt 5: Anna richtet ihren eigenen Home Manager ein
Dir als Administrator empfehle ich, dass du dich einmal selbst als Anna anmeldest und die Umgebung im Terminal einrichtest - das würde sie selbst überfordern:
# Als anna – kein sudo!
nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
nix-channel --update
nix-shell '' -A install
Damit Anna weiß, wie sie sich in NixOS zurechtfindet, habe ich ihr eine kleine Anleitung erstellt.
Die Kurzfassung für Anna:
# Programme hinzufügen: home.nix editieren, dann:
home-manager switch
Zusammenfassung: Welcher Weg für wen?
| Szenario | Ansatz | Konfiguration liegt in |
|---|---|---|
| Gastnutzer | Admin verwaltet alles | /etc/nixos/home-gast.nix |
| Eigenständige Benutzerin | User verwaltet selbst | ~/.config/home-manager/home-anna.nixalso nicht in /etc/nixos |
| Admin (Du) | Home, Konfiguration, Flakes | /etc/nixos/home.nix /etc/nixos/configuration.nix /etc/nixos/flake.nix |
Alle drei Szenarien laufen friedlich nebeneinander – jeder Benutzer auf seiner eigenen Ebene.
Artikel der NixOS-Reihe
- NixOS - Setup-Guide, Teil 1
- NixOS - Setup-Guide, Teil 2
- NixOS - Setup-Guide, Teil 3
- NixOS - Codeberg-Kommunikation optimieren und Troubleshooting
- NixOS - Multi-User-Setup einrichten
- NixOS - Pakete aus 'unstable' einbinden und "Wegwerf-Pakete"
- NixOS - Das Multi-Host-Setup optimieren und individueller gestalten
GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.




















