From 68ed09b0e13059ffdeb37446fa1cf4d2e1268127 Mon Sep 17 00:00:00 2001 From: Olivier <1+olivier@noreply.raspot.in> Date: Thu, 20 Aug 2026 08:52:36 +0200 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"/"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MODULAR-PROVISIONING.md | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 MODULAR-PROVISIONING.md diff --git a/MODULAR-PROVISIONING.md b/MODULAR-PROVISIONING.md new file mode 100644 index 0000000..776736d --- /dev/null +++ b/MODULAR-PROVISIONING.md @@ -0,0 +1,67 @@ +# Provisionnement modulaire + +## Organisation + +```text +hosts/ + bureautix-01.nix -> users/alice.nix + bureautix-02.nix -> users/bob.nix + bureautix-03.nix -> users/mike.nix + +users/ + alice.nix + bob.nix + mike.nix +``` + +Le moteur commun se trouve dans `modules/` et `workstation-setup/`. Il ne doit pas être modifié lorsqu'un nouvel utilisateur est ajouté. + +## Ajouter un utilisateur + +Créer une nouvelle fiche dans `users/`, par exemple `users/claire.nix`, avec un identifiant UNIX et un nom affiché. + +## Ajouter un poste + +Créer une fiche dans `hosts/`, par exemple `hosts/bureautix-04.nix`, qui importe `configuration.nix` et la fiche utilisateur souhaitée, puis définit `networking.hostName`. + +Ajouter ensuite ce poste à `nixosConfigurations` dans `flake.nix`. + +## Premier passage depuis v1.8.7 + +La première migration peut être validée sans Flake afin d'activer les fonctionnalités `nix-command` et `flakes` dans le système : + +```bash +sudo nixos-rebuild build \ + -I nixos-config=/home/localadm/nixos-workstations/hosts/bureautix-01.nix +``` + +Puis : + +```bash +sudo nixos-rebuild switch \ + -I nixos-config=/home/localadm/nixos-workstations/hosts/bureautix-01.nix +``` + +Pour `bureautix-01`, le comportement reste celui de la v1.8.7 et l'utilisateur reste Alice. + +## Utilisation Flake + +Créer une fois le verrou de dépendances : + +```bash +nix flake lock +``` + +Puis construire un poste : + +```bash +sudo nixos-rebuild build --impure --flake .#bureautix-02 +``` + +Et l'appliquer : + +```bash +sudo nixos-rebuild switch --impure --flake .#bureautix-02 +``` + +`--impure` est nécessaire tant que `/etc/nixos/hardware-configuration.nix` reste local au poste et hors du dépôt.