Prenez contact avec nous

Plan du cours

Souveraineté déclarative du système

  • Pourquoi la gestion de configuration impérative conduit à une dérive des configurations et à des échecs d'audit.
  • Le magasin Nix (Nix store), les dérivations et l'utilisation de fonctions pures pour la construction du système.
  • NixOS vs distributions traditionnelles : immutabilité et mises à niveau atomiques.

Installation et bases

  • Installation de NixOS depuis une image ISO avec partitionnement manuel ou automatisé.
  • Le langage Nix : ensembles, fonctions et imports.
  • Structure de configuration.nix et système de modules.
  • Recherche de paquets et d'options à l'aide de nix search et des pages de manuel.

Gestion des paquets et des services

  • Installation des paquets à l'échelle du système versus par utilisateur avec nix-env.
  • Activation déclarative des services systemd.
  • Surcharges de paquets personnalisées et overlays.

Environnements reproductibles

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

Déploiement à distance

  • NixOps et Colmena pour la gestion du parc de machines.
  • Construction à distance 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

  • Utilisation des modes switch, test et boot de nixos-rebuild.
  • 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 builds pour ARM.
  • Génération d'images ISO personnalisées et d'images de démarrage réseau (netboot).
  • Intégration continue avec Hydra pour les paquets Nix.

Pré requis

  • Expérience avancée en administration des systèmes Linux et en scriptage de shell.
  • Bonne compréhension des concepts de programmation fonctionnelle.
  • Familiarité avec Git et les workflows de configuration gérés par un système de contrôle de version.

Public cible

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

Nombre de participants


Prix par participant

Cours à venir

Catégories Similaires