NixOS
Befehle
Apps suchen unter https://search.nixos.org/packages
| nix-shell -p bitwarden | zum installieren von Bitwarden |
| nix-env --install bitwarden | installiert Bitwarden im System permanent |
| sudo nixos-rebuild switch --upgrade | Update des Systems |
| sudo nixos-rebuild switch --rollback | Vorherigen Stand wiederherstellen. |
Programme Dauerhaft installieren
sudo nano /etc/nixos/configuration.nix
Füge das Programm hinzu
environment.systemPackages = with pkgs; {
htop
# andere Pakete hier hinzufügen
}
Aktualisiere die NixOs-Konfiguration
sudo nixos-rebuild switch
Nix Konfiguration im Homeordner
mkdir ~/nixos
sudo cp -r /etc/nixos/* ~/nixos/
kopiert die einstellungen in den Homeordner. Der kann leichter gesichert werden.
Git erstellen
cd ~/nixos
git init
git add .
git commit -m "Erster Stand"
2. Online-Repo erstellen (GitHub, GitLab, Gitea, Codeberg …)
3. Verknüpfen:
git remote add origin <URL>
git push -u origin main
Ab jetzt sicherst du Änderungen mit:
git add .
git commit -m "Update"
git push
⭐ Weg 2: Backup auf USB-Stick
git clone ~/nixos /media/usb/nixos-backup
⭐ Weg 3: Backup in einer Cloud (OneDrive, Dropbox, Nextcloud)
Den ganzen Ordner ~/nixos einfach in einen Sync‑Ordner legen:
mv ~/nixos ~/OneDrive/nixos
→ Git + Cloud = doppelte Sicherheit.
🔁 Wie stelle ich das System später wieder her?
Neue Maschine? Festplatte neu?
Du installierst NixOS minimal und machst danach:
git clone <repo-url> ~/nixos
cd ~/nixos
sudo nixos-rebuild switch --flake .
💥 Boom — dein ganzes System ist zurück.
🛡️ Was passiert mit deinen eigenen Skripten?
Wenn du deine eigenen Skripte in dein Git‑Repo legst, z. B.:
~/nixos/scripts/meinskript.sh
und in der Nix‑Konfiguration referenzierst:
- werden sie im Repo versioniert
- beim Rebuild in den Nix Store kopiert
- bei Neuinstallation automatisch wiederhergestellt
Damit ist das Problem „/home/hermann/bin existiert nicht“ sauber gelöst.
Du kannst deinen Konfigurationsordner z. B. so anlegen:
~/Nextcloud/nixos/
Und dann:
cd ~/Nextcloud/nixos
git init
git add .
git commit -m "Initial commit"
✔️ Wiederherstellung extrem einfach
Neue Maschine oder Neuinstallation?
cd ~/Nextcloud/nixos
sudo nixos-rebuild switch --flake .
⭐ Git + Nextcloud = doppelte Sicherheit
Der beste Setup ist:
-
Ordner in Nextcloud:
~/Nextcloud/nixos -
Git‑Repo in diesem Ordner:
cd ~/Nextcloud/nixos git init
⭐ Wichtiges Detail:
Du solltest den Ordner nicht gleichzeitig in /etc/nixos haben
Stattdessen:
-
Arbeite und speichere in:
~/Nextcloud/nixos -
Und verknüpfe
/etc/nixosmit deinem Ordner
z. B. via Symlink:
sudo rm -r /etc/nixos
sudo ln -s ~/Nextcloud/nixos /etc/nixos
Dann ist /etc/nixos nur ein Zeiger – und du bearbeitest alles dort, wo Nextcloud es sichert.
Nixpaket selber machen
{ stdenv }:
stdenv.mkDerivation {
name = "hello";
src = ./hello.sh;
installPhase = ''
mkdir -p $out/bin
cp $src $out/bin/hello
'';
}
Ein Skript selber einbinden über Flake
environment.systemPackages = [ self.packages.${system}.meinProgramm ];
Flakes
{
description = "Meine NixOS-Konfiguration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }: {
packages.x86_64-linux.defaultPackage =
nixpkgs.legacyPackages.x86_64-linux.hello;
};
}
Konfiguration von einstellungen
über den Home-Manger
programs.bash.enable = true;
programs.bash.shellAliases = {
ll = "ls -la";
};
programs.bash.initExtra = ''
export EDITOR=nvim
'';