Die Veröffentlichung der NixOS 25.05 Distribution wurde vorgestellt, die auf dem Paketmanager Nix basiert und eigene Entwicklungen zur Vereinfachung der Systemkonfiguration und -wartung bereitstellt. In NixOS erfolgt die gesamte Systemkonfiguration über eine einzige Datei der Systemkonfiguration configuration.nix. Es werden Möglichkeiten für eine schnelle Wiederherstellung des Systems auf eine vorherige Konfiguration sowie für den Wechsel zwischen verschiedenen Systemzuständen geboten. Es wird unterstützt, dass einzelne Benutzer individuelle Pakete installieren und mehrere Versionen eines Programms gleichzeitig genutzt werden können. Reproduzierbare Builds sind gewährleistet. Für die Architekturen x86_64 und ARM64 wurde ein Installationsabbild mit grafischer Umgebung (3,7 GB) und eine verkleinerte Konsolenversion (1,4 GB) bereitgestellt.
Beim Einsatz von Nix wird das Ergebnis des Paketbaus in einem separaten Unterverzeichnis im /nix/store gespeichert. Zum Beispiel kann nach dem Bau des Pakets firefox der Speicherort /nix/store/5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4-firefox-138.0.4/ sein, wobei „5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4“ der Hash aller Abhängigkeiten und Bauanweisungen ist. Unter der Installation eines Pakets versteht man, dass es entweder gebaut oder ein bereits gebautes Paket heruntergeladen wird (vorausgesetzt, es wurde bereits auf Hydra – dem Build-Service des NixOS Projekts – erstellt), sowie die Erstellung eines Verzeichnisses mit symbolischen Links zu allen Paketen im System- oder Benutzerprofil, gefolgt von der Hinzufügung dieses Verzeichnisses zur PATH-Liste. Ein ähnlicher Ansatz wird im Paketmanager GNU Guix verwendet, der auf den Entwicklungen von Nix basiert. Die Sammlung von Paketen ist in einem speziellen Repository namens Nixpkgs verfügbar.
Hauptneuheiten:
- Es wurden 7840 Pakete hinzugefügt, 1694 Pakete entfernt und 28054 Pakete aktualisiert. Es wurden 137 neue Module und 1930 Konfigurationsoptionen hinzugefügt, 10 Module und 215 Optionen wurden entfernt. An der Entwicklung und Wartung der Pakete waren 2857 Entwickler beteiligt, die 57054 Änderungen vorbereitet haben.
- Die Veröffentlichung der Desktop-Umgebung GNOME 48 wurde vorgeschlagen. Standardmäßig wird der Musikplayer Decibels verwendet. Die Standardinstallation des Erweiterungspakets für GNOME Shell (gnome-shell-extensions) wurde eingestellt.
- Die Desktop-Umgebungen Cinnamon 6.4, Pantheon 8 (elementary OS) und Xfce 4.20 wurden aktualisiert.
- Die Unterstützung für die Benutzeroberfläche COSMIC wurde hinzugefügt.
- Neue Module hinzugefügt: 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 usw.
- Versionen der Programme aktualisiert, beispielsweise den Linux-Kernel 6.12 (früher 6.6), GCC 14, LLVM 19, OpenSSH 10.0p2 (DSA-Schlüssel werden nicht mehr unterstützt).
- Unterstützung für die Erstellung von Containern (virtualisation.containers) basierend auf Podman hinzugefügt, die im Root-rechten Modus arbeiten.
- Der Befehl „nixos-rebuild build-image“ wurde implementiert, um spezifische Disk-Images basierend auf der angegebenen Konfiguration zu erstellen.
- Der Befehl nixos-option wurde überarbeitet und auf die Verwendung von Nix-Ausdrücken umgestellt.
- Die Methode zur Erstellung von Paketen mit Mesa-Treibern wurde überarbeitet. Die im System installierten Anwendungen, die mit verschiedenen Versionen von Mesa verbunden sind, sollten nun korrekt funktionieren, und die globale Mesa-Version kann ohne massenhaftes Neu-Bauen verwaltet werden.
- Im Repository channels.nixos.org wurde die Unterstützung für das Protokoll Lockable HTTP Tarball hinzugefügt, was die Verwendung von Archiven nixexprs.tar als Nix Flake-Images ermöglicht.
- Der Befehl nixos-generate-config hat die Option „—flake“ für die Erstellung der Datei flake.nix zusätzlich zu den Dateien configuration.nix und hardware-configuration.nix erhalten, um die Integration mit Flake-basierten Konfigurationen zu erleichtern.
Quelle: opennet.ru
