Les développeurs de NixOS ont présenté la release NixOS 26.05 « Yarara » — une nouvelle version stable de la distribution, construite autour d'une configuration système déclarative et du gestionnaire de paquets Nix. La release recevra des corrections de bogues et des mises à jour de sécurité jusqu'au 31 décembre 2026, tandis que la branche précédente NixOS 25.11 « Xantusia » est déclarée obsolète et atteindra la fin de son support le 30 juin 2026.
La préparation de la sortie a impliqué 2842 développeurs, qui ont contribué 59 703 commits depuis la précédente release. Dans Nixpkgs, 20 442 nouveaux paquets ont été ajoutés, et 20 641 paquets ont été mis à jour, supprimant 17 532 paquets obsolètes. Dans NixOS, il y a maintenant 85 nouveaux modules et 1547 nouveaux paramètres de configuration.
Principales modifications
Stage 1/initrd fonctionne désormais par défaut sur systemd.
La phase de démarrage précoce, responsable de la préparation du système avant le démarrage du système d'exploitation principal, a été transférée à systemd. L'ancienne variante de script est déclarée obsolète et sera supprimée dans NixOS 26.11. Il est temporairement possible de revenir à l'ancien comportement via boot.initrd.systemd.enable = false, mais les développeurs ne recommandent pas cette voie. Des détails sur la migration sont fournis pour les systèmes avec disques LUKS, y compris la spécification correcte de /dev/mapper/ et la modification du comportement de la demande de phrase de passe.system.nix a été ajouté comme point d'entrée alternatif pour la configuration.
En plus des habituels configuration.nix et flake.nix, il est désormais possible d'utiliser system.nix. Cela permet de configurer NixOS sans nix-channel, par exemple avec un archive Nixpkgs explicitement fixé. Par défaut, le fichier est recherché comme /etc/nixos/system.nix, mais le chemin peut être modifié via , —file et —attr.Le noyau Linux a été mis à jour par défaut de 6.12 à 6.18.
Les autres branches de noyau prises en charge restent disponibles, comme auparavant : l'utilisateur peut choisir la version souhaitée via la configuration NixOS.D-Bus a été remplacé par défaut par dbus-broker.
Au lieu de l'implémentation classique de dbus, dbus-broker est désormais utilisé, positionné comme plus performant et fiable tout en conservant la compatibilité avec l'implémentation de référence de D-Bus. Le changement d'implémentation nécessite un redémarrage, car il n'est pas possible de redémarrer D-Bus en toute sécurité en milieu de session utilisateur. Si nécessaire, l'ancienne implémentation peut être maintenue via services.dbus.implementation = "dbus";Le pilote de test NixOS a obtenu un backend sur systemd-nspawn.
Les tests d'intégration peuvent désormais être exécutés non seulement dans des machines virtuelles QEMU, mais aussi dans des conteneurs systemd-nspawn. Cela devrait accélérer les tests et réduire la consommation de ressources là où une pleine fonction n'est pas nécessaire. machine virtuelle Il est également possible de tester les charges GPU/CUDA en raison de la liaison des nœuds de périphériques hôtes à l'intérieur des conteneurs.Les composants clés de Nixpkgs ont été mis à jour.
GCC a été mis à jour de 14 à 15, Node.js par défaut — de 22 LTS à 24 LTS, Ruby — de 3.3 à 3.4. Pour GCC et Node.js, les développeurs préviennent séparément des changements potentiellement non compatibles.GNOME a été mis à jour vers la version 50 « Tokyo ».
La version inclut GNOME 50, pour laquelle des améliorations en matière d'accessibilité, de gestion des écrans et d'autres modifications de l'environnement de bureau ont été annoncées.Le dernier lancement de Nixpkgs avec support x86_64-darwin.
Nixpkgs 26.05 sera le dernier version avec support pour Intel macOS. Les builds binaires et le support de la plateforme resteront jusqu'à la fin du cycle de vie de 26.05, mais dans 26.11, les builds pour x86_64-darwin et le support de builds à partir des sources seront arrêtés.
Nouveaux modules
Dans NixOS 26.05, de nombreux nouveaux modules pour les services et les programmes ont été ajoutés. Parmi les plus notables :
- services.openthread-border-router — module pour OpenThread Border Router, passerelle entre les réseaux maillés Thread et les réseaux IP.
- programs.atuin — intégration d'Atuin pour la synchronisation, la recherche et les sauvegardes de l'historique de la ligne de commande.
- services.meshtasticd — support de Meshtastic, un réseau maillé décentralisé pour les appareils à faible consommation.
- services.reaction — un démon similaire à fail2ban : il analyse la sortie des programmes et peut bloquer les adresses en cas d'erreurs d'authentification répétées.
- services.vinyl-cache — nouveau module après le renommage du projet Varnish Cache en Vinyl Cache ; l'ancien services.varnish est encore conservé pour la migration.
- services.rqbit — client BitTorrent en Rust avec API HTTP et interface web.
- services.tailscale.serve — configuration déclarative de Tailscale Serve pour publier des services locaux dans tailnet.
Des modules pour ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane et plusieurs autres services ont également été ajoutés.
Modifications pour les administrateurs et les postes de travail
La configuration NVIDIA est devenue plus déclarative.
Un paramètre hardware.nvidia.branch a été ajouté pour choisir la branche du pilote, le lien du module NixOS a été mis à jour avec le nouveau format de paquet nvidia-x11, et les paramètres du module du noyau peuvent maintenant être définis via hardware.nvidia.moduleParams, après quoi ils sont enregistrés dans la configuration modprobe, au lieu d'être poussés via la ligne de commande globale du noyau.Wine a été mis à jour vers la branche 11.0.
Pour les utilisateurs exécutant des applications et des jeux Windows via Wine, cela signifie la transition vers une nouvelle branche majeure de Wine dans la version stable de NixOS 26.05.Les certificats ACME ont obtenu un temps de renouvellement dynamique.
Si security.acme.defaults.validMinDays n'est pas spécifié, NixOS calcule désormais le moment du renouvellement en fonction de la durée de vie du certificat : pour les certificats standards, le renouvellement se produit après deux tiers de la durée de vie, pour les certificats à courte durée de vie – après la moitié de la durée.OpenSSH a reçu de nouveaux paramètres.
Il est maintenant possible de générer des clés hôtes via services.openssh.generateHostKeys = true, même si le serveur SSH lui-même n'est pas activé. Cela est utile pour les systèmes ayant besoin de clés hôtes SSH pour d'autres tâches, par exemple agenix ou sops-nix. Un paramètre services.openssh.enableRecommendedAlgorithms a également été ajouté, permettant de se passer de l'ensemble d'algorithmes recommandé par NixOS.Nextcloud est mis à jour par défaut vers v33 pour les nouveaux systèmes.
Pour les configurations avec system.stateVersion >= 26.05, pkgs.nextcloud33 est utilisé par défaut. Les développeurs préviennent qu'une mise à jour directe de Nextcloud 31 ou des versions plus anciennes vers 33 n'est pas possible : il faut d'abord passer par une version intermédiaire.La journalisation bruyante des connexions refusées par le firewall a été désactivée.
Le paramètre networking.firewall.logRefusedConnections est maintenant par défaut à false, car sur serveurs, les messages accessibles depuis Internet peuvent rapidement saturer le noyau de l'ordinateur et éclipser des informations de diagnostic plus utiles.glibc a été mise à jour vers 2.42.
La nouvelle version ne rend plus la pile exécutable si la bibliothèque partagée l'exige. Les développeurs considèrent ces cas comme des erreurs et recommandent de corriger la construction via -z,noexecstack ou d'effacer le drapeau via patchelf —clear-execstack ; il est déconseillé d'activer le comportement ancien à l'échelle mondiale pour des raisons de sécurité.
NixOS 26.05 – une publication avec des changements d'infrastructure notables : transition de initrd vers systemd, abandon de l'ancien D-Bus par défaut, nouvelle façon de décrire le système via system.nix, importante mise à jour de Nixpkgs et préparation à la suppression des plateformes et modules obsolètes.
Source : linux.org.ru
