68 lines
1.6 KiB
Markdown
68 lines
1.6 KiB
Markdown
# 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.
|