La version du système d'exploitation NixOS 25.05 a été publiée, basée sur le gestionnaire de paquets Nix, offrant des développements internes pour simplifier la configuration et la maintenance du système. Dans NixOS, toute la configuration du système se fait via un fichier unique de configuration système, configuration.nix. Il est possible de revenir rapidement à une version précédente de la configuration et de passer entre différents états du système. L'installation de paquets individuels par des utilisateurs distincts et l'utilisation simultanée de plusieurs versions d'un même programme sont prises en charge. Des builds reproductibles sont garanties. Pour les architectures x86_64 et ARM64, une image d'installation avec un environnement graphique (3,7 Go) et une version console allégée (1,4 Go) ont été préparées.
Lors de l'utilisation de Nix, le résultat de la construction des paquets est stocké dans un sous-répertoire séparé dans /nix/store. Par exemple, après la construction, le paquet firefox peut être enregistré dans /nix/store/5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4-firefox-138.0.4/, où « 5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4 » est le hash de toutes ses dépendances et instructions de construction. L'installation d'un paquet implique sa construction ou le téléchargement d'une version déjà construite (si elle a déjà été construite sur Hydra - le service de construction du projet NixOS), ainsi que la création d'un répertoire avec des liens symboliques vers tous les paquets dans le profil du système ou de l'utilisateur, qui est ensuite ajouté à la liste PATH. Une approche similaire est utilisée dans le gestionnaire de paquets GNU Guix, qui s'appuie sur les travaux de Nix. La collection de paquets est présentée dans un dépôt spécial Nixpkgs.
Les principales nouveautés :
- 7840 paquets ont été ajoutés, 1694 paquets supprimés, 28054 paquets mis à jour. 137 nouveaux modules et 1930 options de configuration ont été ajoutés, 10 modules et 215 options ont été supprimés. 2857 développeurs ont participé au développement et à la maintenance des paquets, préparant 57054 modifications.
- Une version de l'environnement de bureau GNOME 48 a été proposée. Le lecteur de musique Decibels est activé par défaut. L'installation par défaut des extensions GNOME Shell (gnome-shell-extensions) a été interrompue.
- Les environnements utilisateurs Cinnamon 6.4, Pantheon 8 (elementary OS), Xfce 4.20 ont été mis à jour.
- Le support de l'environnement utilisateur COSMIC a été ajouté.
- De nouveaux modules Anubis, AmneziaVPN, Cursor, Kismet, vwifi, Ghidra, Yggdrasil-Jumper, MaryTTS, doh-server, Schroot, Firezone, PostgREST, postgres-websockets, pgBackRest, µStreamer, nfc-nci, victorialogs, Zipline, vsmartcard-vpcd, LiteLLM, Rebuilderd, GNU Rush, GoDNS, etc. ont été ajoutés.
- Les versions des logiciels ont été mises à jour, par exemple, le noyau Linux 6.12 (précédemment 6.6), GCC 14, LLVM 19, OpenSSH 10.0p2 (le support des clés DSA a été abandonné).
- Un support pour la création de conteneurs (virtualisation.containers) basés sur podman, fonctionnant sans droits root, a été ajouté.
- La commande « nixos-rebuild build-image » a été mise en œuvre pour construire des images disques spécifiques basées sur la configuration donnée.
- La commande nixos-option a été réécrite et traduite pour utiliser des expressions Nix.
- Le processus de génération des paquets avec les pilotes Mesa a été repensé. Les applications installées liées à différentes versions de Mesa doivent maintenant fonctionner correctement, et la version globale de Mesa peut être gérée sans re-compilation massive.
- Le dépôt channels.nixos.org a ajouté le support du protocole Lockable HTTP Tarball, permettant d'utiliser les archives nixexprs.tar comme images Nix Flake.
- La commande nixos-generate-config a maintenant l'option « —flake » pour générer le fichier flake.nix en plus des fichiers configuration.nix et hardware-configuration.nix, facilitant l'intégration avec des configurations basées sur flake.
Source : opennet.ru
