Prenez contact avec nous

Plan du cours

Souveraineté des systèmes déclaratifs

  • Pourquoi la gestion de configuration impérative conduit à la dérive et aux échecs d'audit.
  • Le magasin Nix, les dérivations et les fonctions pures pour la construction du système.
  • NixOS par rapport aux distributions traditionnelles : immuabilité et mises à jour atomiques.

Installation et bases

  • Installation de NixOS depuis un ISO avec partitionnement manuel et automatisé.
  • Le langage Nix : ensembles, fonctions et imports.
  • Structure de configuration.nix et système de modules.
  • Recherche de paquets et d'options via nix search et les pages man.

Gestion des paquets et des services

  • Installation des paquets au niveau du système versus par utilisateur avec nix-env.
  • Activation déclarative des services systemd.
  • Remplacements de paquets personnalisés et superpositions (overlays).
  • Nettoyage des ordures (garbage collection) et optimisation du magasin.

Environnements reproductibles

  • nix-shell et shell.nix pour le développement ad hoc.
  • Nix Flakes pour la reproductibilité basée sur les fichiers de verrouillage (lockfiles).
  • devenv et devshell pour l'intégration des nouvelles équipes.
  • Intégration avec Direnv pour le changement automatique d'environnement.

Déploiement à distance

  • NixOps et Colmena pour la gestion de flottes.
  • Construction distante et configuration du cache binaire.
  • Gestion des secrets avec agenix et sops-nix.
  • Tests de déploiement avec les machines virtuelles NixOS et les conteneurs.

Mises à jour et retours arrière du système

  • nixos-rebuild en modes switch, test et boot.
  • Retour arrière atomique aux générations précédentes.
  • Gestion des canaux et verrouillage (pinning) pour des mises à jour reproductibles.
  • Récupération d'urgence et configuration du chargeur de démarrage.

Sujets avancés

  • Conteneurs NixOS et virtualisation légère.
  • Cross-compilation et constructions ARM.
  • Génération d'images ISO personnalisées et de netboot.
  • Hyrda (CI continue) pour les paquets Nix.

Pré requis

  • Expérience avancée en administration des systèmes Linux et en scriptage de shells.
  • Compréhension fondamentale des concepts de la programmation fonctionnelle.
  • Familiarité avec Git et les flux de travail de configuration basés sur le contrôle de version.

Audience cible

  • Ingénieurs en infrastructure recherchant des systèmes reproductibles et déclaratifs.
  • Équipes DevOps souhaitant remplacer Ansible, Puppet ou Chef par Nix.
  • Organisations exigeant des déploiements reproductibles bit à bit.
 21 Heures

Nombre de participants


Prix par participant

Cours à venir

Catégories Similaires