Chrono Challenge NixOS passe au grill, la base derrière GLF OS
Cette vidéo est un tutoriel chronométré qui démontre comment installer et configurer NixOS, une distribution Linux déclarative et immuable, pour un usage gaming et création audiovisuelle, en mettant en lumière sa puissance mais aussi sa courbe d'apprentissage.

SYNTHÈSE STRUCTURÉE
L’installation initiale via Calamares
L’installation de NixOS démarre de manière conventionnelle grâce à l’installateur graphique Calamares. L’intervenant, Vince, configure les paramètres de base : utilisateur, mot de passe, environnement de bureau (il choisit GNOME) et active les options “Alliwire” pour les pilotes propriétaires (Nvidia, Broadcom) et les codecs multimédias. Il note que cette étape est simple et familière. “Finalement, l’installation de cette Nyxos, elle est pas si compliquée que ça.”
Les concepts fondamentaux de NixOS : Déclaratif et Immuable
NixOS se distingue radicalement des distributions classiques par son approche déclarative et immuable. Au lieu d’empiler des paquets de manière impérative (apt install), on décrit l’état final souhaité du système dans des fichiers de configuration. NixOS “mouline” ensuite cette description pour générer une image du système complète et cohérente. Cette image est immuable : pour toute modification (mise à jour, ajout de logiciel), le système doit recréer une nouvelle “génération”. Cela garantit une extrême stabilité et permet un rollback instantané en cas de problème. “Il est impossible de créer une image cassée.”
Localisation et structure des fichiers de configuration
La configuration centrale de NixOS réside dans le répertoire /etc/nixos/. Deux fichiers principaux sont présentés :
hardware-configuration.nix: Généré automatiquement, il contient la détection matérielle (partitions, modules noyau).configuration.nix: C’est le fichier maître où l’utilisateur déclare ses logiciels, services et paramètres système.
Ajout des pilotes Nvidia via le wiki
Après l’installation, les pilotes Nvidia ne sont pas actifs. Vince consulte le wiki officiel de NixOS pour trouver la syntaxe déclarative correcte. Il ajoute la configuration dans configuration.nix et applique les changements. Cette étape montre que la configuration passe par l’édition manuelle de fichiers et non par un gestionnaire de pilotes graphique.
Installation déclarative des applications
Pour installer les logiciels demandés (Steam, Lutris, Heroic, OBS, DaVinci Resolve), Vince utilise le moteur de recherche de paquets Nix (search.nixos.org) pour trouver les noms exacts. Il les ajoute ensuite à la liste environment.systemPackages dans configuration.nix. Il souligne la puissance de cette méthode : “Ça c’est un truc de fou. Ça c’est la magie de NixOS.”
La commande centrale : nixos-rebuild switch
Après chaque modification de configuration.nix, il faut “construire” le nouveau système avec la commande :
sudo nixos-rebuild switch
Cette commande analyse les changements, télécharge les dépendances, compile si nécessaire et génère une nouvelle génération du système. Au prochain démarrage, l’utilisateur peut choisir entre les anciennes et la nouvelle génération.
Gestion des erreurs de syntaxe et apprentissage
Lors de l’ajout de configurations avancées pour OBS (webcam virtuelle) et Steam, Vince rencontre des erreurs de syntaxe (parenthèses manquantes, attributs dupliqués). Chaque erreur arrête le processus de build, forçant à corriger le fichier. Cela illustre la rigueur requise par le langage Nix. “À une parenthèse près, la mise à jour… ne voulait pas se faire.”
Inspiration et collaboration via le code source de GLFOS
Vince montre que pour des configurations complexes (plugins OBS, optimisation Steam), on peut s’inspirer directement des fichiers de configuration de GLFOS, une distribution basée sur NixOS. Ces fichiers sont ouverts sur Framagit. “Rien ne vous empêche de copier-coller, de mettre dans votre fichier de configuration et ça va fonctionner.”
Maintenance et mise à jour du système
La maintenance sous NixOS est manuelle mais prévisible. Les mises à jour se font via nixos-rebuild switch. Pour changer de version majeure de NixOS (p. ex., 23.11 -> 24.05), il faut modifier system.stateVersion dans configuration.nix. Il est aussi recommandé de nettoyer régulièrement les anciennes générations avec nix-collect-garbage. “C’est vous qui vous occupez de tout.”
CONCEPTS CLÉS
- Système déclaratif : On décrit l’état souhaité du système (logiciels, configs) dans un fichier, et l’outil se charge de l’implémenter.
- Système immuable : L’OS est déployé comme une image unique et read-only. Les modifications créent une nouvelle image.
- Générations : Chaque
nixos-rebuild switchcrée un nouvel état de bootable du système, stocké côte à côte avec les précédents, permettant un rollback facile. - Langage Nix : Langage de configuration fonctionnel utilisé pour décrire les paquets et les configurations. Il est précis et nécessite une syntaxe correcte.
- NixOS Wiki / Manual : Ressource essentielle, bien que jugée imparfaite par l’intervenant, pour trouver les snippets de configuration appropriés.
CONCLUSION
Le message principal est que NixOS représente un changement de paradigme puissant mais exigeant. Sa courbe d’apprentissage est raide, notamment due à la nécessité d’apprendre son langage de configuration et de gérer les fichiers manuellement. Cependant, une fois maîtrisé, il offre un contrôle sans précédent, une stabilité exceptionnelle (système “incassable” grâce aux générations) et une reproductibilité parfaite. Comme le résume Vince : “C’est compliqué cette NixOS… mais en même temps qu’est-ce que c’est canon.” C’est un investissement initial qui paie sur le long terme en fiabilité et en maintenabilité, faisant de NixOS un choix de premier ordre pour les utilisateurs avancés et les environnements nécessitant une grande robustesse.