Aller au contenu

Concepts et vocabulaire

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 :

TermeDescription
NixGestionnaire de paquets déclaratif : on décrit l’état voulu, Nix le construit à l’identique.
NixOSLa distribution Linux bâtie sur Nix : tout le système (paquets, services, réseau) est décrit en code.
DéclaratifOn déclare quoi (le résultat), pas comment (les commandes) : le même code donne le même système.
ReproductibleMêmes entrées → même système, sur n’importe quelle machine, à n’importe quel moment.
DérivationLa « 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.
FlakeUnité de projet Nix avec entrées épinglées (flake.lock) : versions figées et reproductibles.
GénérationUn état complet du système, horodaté. Chaque déploiement en crée une nouvelle.
RollbackRevenir à 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).
TermeDescription
ZoneSous-réseau autonome (LAN de la maison, réseau invité, site distant…). Préfixe IP en /16, une passerelle, ses hôtes.
NœudToute 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.
TermeDescription
HôteNœud NixOS géré, déclaré dans etc/config.yaml.
Profil d’hôteGabarit qui définit le rôle d’un hôte (gateway, server, desktop, laptop, portable, hcs, vm…). Voir Profils d’hôtes.
Profil d’utilisateurEnvironnement Home Manager 🡕 d’un compte (nix-admin, normal, student, child…).
GroupesRelient utilisateurs et hôtes : ils déterminent qui peut se connecter où.
ServicesBriques auto-hébergées activées par hôte (Nextcloud, Immich, Forgejo…). Voir Services.
FeaturesOptions non-service activées par hôte (monitoring-node, nfs-client…).

Tout part d’un seul fichier déclaratif, transformé en configuration NixOS :

EmplacementRôle
etc/config.yamlLa 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.
Diagram