NixOS-udviklerne har præsenteret en ny version NixOS 26.05 «Yarara» — den seneste stabile version af distributionen, der er bygget op omkring deklarativ systemkonfiguration og Nix-pakkehåndtering. Udgivelsen vil modtage fejlrettelser og sikkerhedsopdateringer indtil 31. december 2026, mens den tidligere version NixOS 25.11 "Xantusia" er erklæret forældet og vil nå slutningen af supporten 30. juni 2026.
I udviklingen af udgivelsen deltog 2842 udviklere, som har bidraget med 59.703 commits siden den forrige udgivelse. Der er tilføjet 20.442 nye pakker til Nixpkgs, opdateret 20.641 pakker, fjernet 17.532 forældede pakker. I selve NixOS er der tilføjet 85 nye moduler og 1547 nye konfigurationsparametre.
Vigtige ændringer
Stage 1/initrd kører nu som standard på systemd.
Den tidlige bootfase, der er ansvarlig for at forberede systemet før den primære OS starter, er blevet overført til systemd. Den gamle scriptversion er erklæret forældet og planlagt til fjernelse i NixOS 26.11. Midlertidigt kan man vende tilbage til den tidligere adfærd ved at sætte boot.initrd.systemd.enable = false, men udviklerne anbefaler ikke denne løsning. For systemer med LUKS-diske er der specifikt beskrevet migreringsdetaljer, herunder korrekt angivelse af /dev/mapper/ og ændring af adfærden ved anmodning om adgangskode.system.nix er tilføjet som et alternativt indgangspunkt for konfiguration.
Udover de sædvanlige configuration.nix og flake.nix, kan man nu bruge system.nix. Dette gør det muligt at konfigurere NixOS uden nix-channel, for eksempel med et specifikt fastlåst arkiv af Nixpkgs. Som standard søges filen i /etc/nixos/system.nix, men stien kan ændres via , —file og —attr.Linux-kernen er som standard opdateret fra 6.12 til 6.18.
Samtidig forbliver de øvrige understøttede kerneversioner tilgængelige som før: brugeren kan vælge den ønskede version gennem NixOS-konfigurationen.D-Bus er som standard blevet erstattet af dbus-broker.
I stedet for den klassiske implementering af dbus anvendes nu dbus-broker, som positioneres som en mere effektiv og pålidelig løsning, der bevarer kompatibilitet med den reference D-Bus-implementering. Skiftet af implementering kræver genstart, da det ikke er sikkert at genstarte D-Bus midt i en brugersession. Hvis nødvendigt kan den gamle implementering bevares gennem services.dbus.implementation = "dbus";.NixOS-testdriveren har fået et backend på systemd-nspawn.
Integrations tests kan nu køres ikke kun i QEMU-VM, men også i systemd-nspawn containere. Dette skal fremskynde testene og reducere ressourceforbruget, hvor en fuld virtual machine ikke er nødvendig. Der er særskilt fokus på muligheden for at teste GPU/CUDA-belastninger ved at bind-mount host device nodes ind i containerne.Nøglekomponenter i Nixpkgs er blevet opdateret.
GCC er opdateret fra 14 til 15, Node.js som standard - fra 22 LTS til 24 LTS, Ruby - fra 3.3 til 3.4. For GCC og Node.js advarer udviklerne særskilt om mulige bagudkompatible ændringer.GNOME er opdateret til version 50 «Tokyo».
Udgaven inkluderer GNOME 50, som har forbedringer til tilgængelighed, skærmstyring og andre ændringer af skrivebordsmiljøet.Den seneste udgave af Nixpkgs med support for x86_64-darwin.
Nixpkgs 26.05 vil blive den sidste version med support for Intel macOS. Binære builds og platformsupport vil fortsætte indtil slutningen af livscyklussen for 26.05, men i 26.11 vil builds for x86_64-darwin og support til build fra kildekode blive stoppet.
Nye moduler
I NixOS 26.05 er der tilføjet mange nye moduler til tjenester og programmer. Blandt de bemærkelsesværdige:
- services.openthread-border-router — modul til OpenThread Border Router, en gateway mellem Thread mesh-netværk og IP-netværk.
- programs.atuin — integration af Atuin til synkronisering, søgning og sikkerhedskopiering af kommandolinjehistorik.
- services.meshtasticd — support for Meshtastic, et decentraliseret mesh-netværk til lavenergi enheder.
- services.reaction — daemon, der ligner fail2ban: analyserer output fra programmer og kan blokere adresser ved gentagne loginfejl.
- services.vinyl-cache — et nyt modul efter omdøbning af Varnish Cache til Vinyl Cache; det gamle services.varnish er stadig tilgængeligt for migrering.
- services.rqbit — en BitTorrent-klient på Rust med HTTP API og webgrænseflade.
- services.tailscale.serve — deklarativ opsætning af Tailscale Serve til publicering af lokale tjenester i tailnet.
Der er også tilføjet moduler til ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane og en række andre tjenester.
Ændringer for administratorer og arbejdsstationer
NVIDIA-konfigurationen er blevet mere deklarativ.
Parameteren hardware.nvidia.branch er tilføjet for at vælge driverens gren, den NixOS-modulbinding er opdateret med det nye layout for pakken nvidia-x11, og kernelmodulparameterne kan nu angives gennem hardware.nvidia.moduleParams, hvorefter de skrives ind i modprobe-konfigurationen, og ikke gennem den globale kernel-kommandolinje.Wine er opdateret til version 11.0.
For brugere, der kører Windows-applikationer og spil via Wine, betyder det overgangen til en ny stor version af Wine som en del af den stabile pakkeopstilling NixOS 26.05.ACME-certifikater har fået dynamisk forlængelsestid.
Hvis security.acme.defaults.validMinDays ikke er angivet, beregner NixOS nu fornyelsestidspunktet i forhold til certificeringens gyldighed: for almindelige certifikater sker fornyelse efter to tredjedele af levetiden, for kortlivede certifikater efter halvdelen af levetiden.OpenSSH har fået nye parametre.
Det er nu muligt at generere værtsnøgler via services.openssh.generateHostKeys = true, selvom selve SSH-serveren ikke er aktiveret. Dette er nyttigt for systemer, der har brug for SSH-værtsnøgler til andre opgaver, som agenix eller sops-nix. Der er også tilføjet parameteren services.openssh.enableRecommendedAlgorithms, som gør det muligt at undgå det sæt af algoritmer, der anbefales af NixOS.Nextcloud opdateres som standard til v33 for nye systemer.
For konfigurationer med system.stateVersion >= 26.05 bruges pkgs.nextcloud33 som standard. Udviklerne advarer om, at direkte opdatering fra Nextcloud 31 eller ældre versioner til 33 ikke er mulig: man skal først gå igennem en mellemversion.Støjende logning af afviste forbindelser fra firewall er deaktiveret.
Parameteren networking.firewall.logRefusedConnections er nu som standard sat til false, da servere, der er tilgængelige fra internettet, sådanne meddelelser kan hurtigt tilstoppe kernel ring-bufferen og skubbe mere nyttig diagnostisk information ud.glibc er opdateret til 2.42.
Den nye version gør ikke længere stakken udførbar, hvis det kræves af den delte biblioteksfil. Udviklerne anser sådanne tilfælde for fejl og foreslår at rette op på bygningen via -z,noexecstack eller rydde flaget via patchelf —clear-execstack; globalt at aktivere det gamle adfærd frarådes af sikkerhedsmæssige årsager.
NixOS 26.05 er en udgivelse med markante infrastrukturelle ændringer: overgang til systemd for initrd, opgivelse af den gamle D-Bus som standard, ny måde at beskrive systemet på via system.nix, stor opdatering af Nixpkgs og forberedelse til fjernelse af forældede platforme og moduler.
Kilde: linux.org.ru
