# 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.