Le vocabulaire de base pour administrer un réseau DNF. Les pages suivantes y
font référence sans le redéfinir.
DNF repose entièrement sur Nix / NixOS 🡕. Quelques notions à
avoir en tête avant d’administrer le parc :
| Terme | Description |
|---|
| Nix | Gestionnaire de paquets déclaratif : on décrit l’état voulu, Nix le construit à l’identique. |
| NixOS | La distribution Linux bâtie sur Nix : tout le système (paquets, services, réseau) est décrit en code. |
| Déclaratif | On déclare quoi (le résultat), pas comment (les commandes) : le même code donne le même système. |
| Reproductible | Mêmes entrées → même système, sur n’importe quelle machine, à n’importe quel moment. |
| Dérivation | La « recette » de construction d’un élément (paquet, config), évaluée par Nix. |
Store (/nix/store) | Dépôt immuable des éléments construits, identifiés par un hash. Rien ne s’écrase. |
| Flake | Unité de projet Nix avec entrées épinglées (flake.lock) : versions figées et reproductibles. |
| Génération | Un état complet du système, horodaté. Chaque déploiement en crée une nouvelle. |
| Rollback | Revenir à une génération précédente (au boot ou à chaud) : un déploiement raté n’est jamais définitif. |
| Home Manager 🡕 | Gère de façon déclarative l’environnement d’un utilisateur (applis, bureau, dotfiles). |
| Terme | Description |
|---|
| Zone | Sous-réseau autonome (LAN de la maison, réseau invité, site distant…). Préfixe IP en /16, une passerelle, ses hôtes. |
| Nœud | Toute machine du réseau : poste, serveur, passerelle, coordination. |
| Passerelle (gateway) | Nœud frontière d’une zone : routeur, pare-feu, DNS/DHCP, client VPN. Une par zone, IP fixe <préfixe>.1.1. |
| Serveur de coordination (HCS) | Nœud public qui orchestre le VPN maillé (Headscale) et héberge les services partagés entre zones. |
| VPN (tailnet) | La maille qui relie toutes les zones et les machines distantes, via Headscale + Tailscale. |
| Terme | Description |
|---|
| Hôte | Nœud NixOS géré, déclaré dans etc/config.yaml. |
| Profil d’hôte | Gabarit qui définit le rôle d’un hôte (gateway, server, desktop, laptop, portable, hcs, vm…). Voir Profils d’hôtes. |
| Profil d’utilisateur | Environnement Home Manager 🡕 d’un compte (nix-admin, normal, student, child…). |
| Groupes | Relient utilisateurs et hôtes : ils déterminent qui peut se connecter où. |
| Services | Briques auto-hébergées activées par hôte (Nextcloud, Immich, Forgejo…). Voir Services. |
| Features | Options non-service activées par hôte (monitoring-node, nfs-client…). |
Tout part d’un seul fichier déclaratif, transformé en configuration NixOS :
| Emplacement | Rôle |
|---|
etc/config.yaml | La source de vérité : réseau, zones, utilisateurs, hôtes, services. |
dnf/ | Le framework : modules, profils, librairies. Réutilisable, peu modifié. |
usr/ | Le projet local (en écriture) : surcharges de modules et de profils, machines, secrets. |
var/generated/ | Le code Nix généré depuis etc/config.yaml (ne jamais éditer à la main). |
doc/ | Cette documentation. |