Die Veröffentlichung des NixOS 25.11-Distributions ist erfolgt, die auf dem Paketmanager Nix basiert und eigene Entwicklungen zur Vereinfachung der Konfiguration und Pflege des Systems bereitstellt. In NixOS erfolgt die gesamte Systemkonfiguration über eine einzige Systemkonfigurationsdatei namens configuration.nix. Es werden Möglichkeiten für eine schnelle Rückkehr auf eine frühere Konfigurationsversion und den Wechsel zwischen verschiedenen Systemzuständen bereitgestellt. Es wird unterstützt, dass einzelne Benutzer individuelle Pakete installieren und mehrere Versionen eines Programms gleichzeitig nutzen können. Reproduzierbare Builds sind gewährleistet. Für die Architekturen x86_64 und ARM64 wurden Installationsabbilder mit grafischer Benutzeroberfläche (3,6 GB) und einer kompakten Konsolenversion (1,5 GB) vorbereitet.
Bei der Verwendung von Nix wird das Ergebnis des Paketbaus in einem separaten Unterverzeichnis im /nix/store gespeichert. Beispielsweise kann nach dem Bau des Pakets firefox in /nix/store/8onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ed5c4-firefox-145.0.1/ geschrieben werden, wobei „8onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ed5c4“ der Hash aller Abhängigkeiten und Bauanweisungen ist. Mit der Installation eines Pakets wird dessen Bau oder der Download eines bereits gebauten Pakets (sofern es bereits auf Hydra – dem Build-Dienst von NixOS – erstellt wurde) sowie die Erstellung eines Verzeichnisses mit symbolischen Links zu allen Paketen im System- oder Benutzerprofil verstanden, was anschließend in die PATH-Liste aufgenommen wird. Ein ähnlicher Ansatz wird im Paketmanager GNU Guix angewendet, der auf den Entwicklungen von Nix basiert. Die Sammlung von Paketen ist in einem speziellen Repository namens Nixpkgs zu finden.
Hauptneuheiten:
- Es wurden 7002 Pakete hinzugefügt, 6338 Pakete entfernt und 25252 Pakete aktualisiert. 107 neue Module und 1778 Konfigurationsoptionen wurden hinzugefügt, 807 Optionen und 41 Module wurden entfernt. An der Entwicklung und Pflege der Pakete waren 2742 Entwickler beteiligt, die 59430 Änderungen vorbereitet haben.
- Zu den neuen Modulen gehören: der Compositor dwl, die Firewall FirewallD, der tunnelerückseitige Proxy Pangolin, der Werbeblocker Pi-hole, der Torrent-Client qBittorrent, das Dienstprogramm rsync, die Microblogging-Plattform Sharkey, der Dienst TuneD, der Matrix-Server tuwunel, der VNC-Server wayvnc und der Schlüsselmanager yubikey-manager.
- Das System zur Initialisierung nixos-init wurde hinzugefügt, das das System beim Booten initialisiert und die Umgebung für den Start von systemd konfiguriert. Der Code von nixos-init ist in Rust geschrieben und nicht an Bash gebunden. Mit nixos-init können abgespeckte NixOS-Umgebungen erstellt werden, die ohne Shells, Perl, Python und andere Interpreter ausgeliefert werden.
- Die Veröffentlichung der Desktop-Umgebung GNOME 49 wurde vorgeschlagen, bei der die Bereitstellung der Sitzung für X11 eingestellt wurde (zum Ausführen von X11-Anwendungen kann XWayland verwendet werden). Zur Verwaltung von Diensten in gnome-session werden Komponenten von systemd verwendet.
- Eine Beta-Version der Benutzerumgebung COSMIC wurde hinzugefügt.
- Die LLVM 21 Toolchain und das Build-System CMake 4 wurden aktualisiert. GCC bleibt auf der Version 14.x.
- Unterstützung für die Firewall firewalld wurde hinzugefügt, die als Wrapper über der Paketfilter-Technologie nftables implementiert ist und die Regeländerung über D-Bus unterstützt. FirewallD kann als separater Dienst services.firewalld oder als Backend, das über die Einstellung "networking.firewall" bereitgestellt wird, gestartet werden (in "networking.firewall" wurde die Option backend hinzugefügt, um das Backend zu wechseln).
- Das Tool nixos-rebuild-ng wurde standardmäßig verwendet, eine Variante von nixos-rebuild, die vollständig in Python neu geschrieben wurde. Um es zu deaktivieren, wurde die Einstellung "system.rebuild.enableNg" vorgeschlagen, die jedoch in der nächsten Version entfernt werden soll.
- rEFInd, ein grafischer Bootmanager für Systeme mit UEFI, wurde hinzugefügt (aktiviert über die Einstellung boot.loader.refind.enable).
- Für den Bootloader Limine wurde die Unterstützung für UEFI Secure Boot aktiviert (boot.loader.limine.secureBoot.enable). Die digitale Signatur wird durch ein Installationsskript des Bootloaders erstellt, und die Hashes zur Überprüfung der Integrität des Kernels werden während des Systems neu gebaut. In der Praxis ermöglicht diese neue Funktion, dass nur Kerne, die über NixOS installiert wurden, geladen werden dürfen.
- Standardmäßig ist die PostgreSQL 17-Datenbankversion aktiviert.
- Die Bereitstellung des Plugin-Pakets wird standardmäßig eingestellt. VPN-Plugins im Modul mit NetworkManager. Alle VPN-Plugins müssen nun ausdrücklich über die Einstellung "networking.networkmanager.plugins" aktiviert werden.
- Veraltete Versionen von KDE Gear, KDE Plasma, Maui und Deepin, die Qt 5 verwendeten, wurden entfernt. Ein Upgrade auf KDE Plasma 6.x und Gear 25.08 wird empfohlen.
Quelle: opennet.ru
