diff --git a/README.md b/README.md index 7737108..bb0bd5c 100644 --- a/README.md +++ b/README.md @@ -148,14 +148,12 @@ cd /etc/nixos-fleet ## Étape 3 — Générer le fichier matériel -Propre à cette machine. Un flake ne voit que les fichiers suivis par git, donc il faut le committer (une seule machine ici, pas 100 — risque de fuite minime, juste un UUID de disque). - ```bash -sudo nixos-generate-config --show-hardware-config > pxe-server/hardware-configuration.nix -git add pxe-server/hardware-configuration.nix -git commit -m "hardware config serveur pxe" +sudo nixos-generate-config ``` +Écrit `/etc/nixos/hardware-configuration.nix` — en dehors du repo, rien à ajouter/committer. + ## Étape 4 — Éditer 3 valeurs Fichier : `pxe-server/configuration.nix` @@ -173,9 +171,11 @@ $EDITOR pxe-server/configuration.nix ## Étape 5 — Construire ```bash -sudo nixos-rebuild switch --flake .#pxe-server +sudo nixos-rebuild switch --flake .#pxe-server --impure ``` +`--impure` : nécessaire pour lire `/etc/nixos/hardware-configuration.nix`, hors du repo. + ## Étape 6 — Publier l'image ```bash @@ -229,7 +229,7 @@ sudo systemctl start pxe-publish Appliquer une modif de `pxe-server/configuration.nix` : ```bash -sudo nixos-rebuild switch --flake .#pxe-server +sudo nixos-rebuild switch --flake .#pxe-server --impure ``` Voir les logs DHCP/TFTP : diff --git a/pxe-server/configuration.nix b/pxe-server/configuration.nix index 8f335e7..5a8532f 100644 --- a/pxe-server/configuration.nix +++ b/pxe-server/configuration.nix @@ -26,11 +26,13 @@ let in { imports = [ - # Généré sur le serveur réel via `nixos-generate-config`. Commité - # normalement (une seule machine, pas 100 comme la flotte) : un - # flake dans un repo git ne voit que les fichiers suivis par git, - # même avec --impure, donc le gitignorer casserait le build ici. - ./hardware-configuration.nix + # Chemin absolu, HORS de ce repo (emplacement par défaut de + # `nixos-generate-config`) : le repo n'a donc rien à committer pour + # que le build fonctionne, il reste purement "pull". Un flake ne + # voit que les fichiers qu'il suit lui-même par git ; un chemin + # absolu en dehors du repo échappe à cette règle, d'où le --impure + # au build (nécessaire pour lire un chemin hors du flake). + /etc/nixos/hardware-configuration.nix ]; boot.loader.systemd-boot.enable = true;