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
