Skip to main content

Commandes nixos-rebuild

nixos-rebuild : appliquer les modifications

Après avoir modifié /etc/nixos/configuration.nix, il faut appliquer les changements avec nixos-rebuild.

Commandes principales

nixos-rebuild switch

Applique la configuration immédiatement et configure le boot sur cette génération :

sudo nixos-rebuild switch

C’est la commande la plus courante.

nixos-rebuild boot

Prépare la configuration mais ne l’active qu’au prochain redémarrage :

sudo nixos-rebuild boot

Utile pour les changements de kernel ou de bootloader.

nixos-rebuild test

Applique la configuration sans modifier le bootloader :

sudo nixos-rebuild test

Permet de tester une configuration. Un reboot reviendra à la configuration précédente.

nixos-rebuild build

Construit la configuration sans l’appliquer :

sudo nixos-rebuild build

Utile pour vérifier qu’une configuration compile sans erreur.

Gestion des générations

Chaque nixos-rebuild switch crée une nouvelle génération.

Lister les générations :

sudo nix-env --list-generations -p /nix/var/nix/profiles/system

Résultat :

   1   2024-01-15 10:30:00
   2   2024-01-16 14:22:00
   3   2024-01-17 09:15:00   (current)

Rollback

Revenir à la génération précédente :

sudo nixos-rebuild switch --rollback

Ou choisir une génération spécifique au boot via le menu GRUB/systemd-boot.

Nettoyage

Supprimer les anciennes générations (garder les 5 dernières) :

sudo nix-collect-garbage --delete-older-than 5d

Ou supprimer toutes les anciennes générations sauf la courante :

sudo nix-collect-garbage -d

Libérer l’espace disque :

sudo nix-store --gc

Options utiles

Afficher ce qui va changer avant d’appliquer :

sudo nixos-rebuild build
nix store diff-closures /run/current-system ./result

Appliquer une configuration depuis un autre fichier :

sudo nixos-rebuild switch -I nixos-config=/chemin/vers/configuration.nix

Mise à jour du système

Mettre à jour les canaux (équivalent de apt update) :

sudo nix-channel --update

Puis reconstruire :

sudo nixos-rebuild switch --upgrade

Dépannage

Si le système ne démarre plus, booter sur une génération précédente depuis le menu de boot, puis :

sudo nixos-rebuild switch --rollback

Ou identifier et corriger le problème dans la configuration, puis :

sudo nixos-rebuild switch