Files
nixos-workstations/MODULAR-PROVISIONING.md
T

1.6 KiB

Provisionnement modulaire

Organisation

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 :

sudo nixos-rebuild build \
  -I nixos-config=/home/localadm/nixos-workstations/hosts/bureautix-01.nix

Puis :

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 :

nix flake lock

Puis construire un poste :

sudo nixos-rebuild build --impure --flake .#bureautix-02

Et l'appliquer :

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.