Dezvoltatorii NixOS au lansat versiunea NixOS 26.05 „Yarara” — o nouă versiune stabilă a distribuției, construită în jurul configurației declarative a sistemului și a managerului de pachete Nix. Această versiune va primi corecții de erori și actualizări de securitate până pe 31 decembrie 2026, iar ramura anterioară NixOS 25.11 „Xantusia” a fost declarat învechit și va ajunge la sfârșitul suportului pe 30 iunie 2026.
La pregătirea lansării au participat 2842 de dezvoltatori, care au adus 59 703 de commit-uri de la lansarea anterioară. În Nixpkgs au fost adăugate 20 442 de pachete noi, au fost actualizate 20 641 de pachete, au fost eliminate 17 532 de pachete învechite. În NixOS au apărut 85 de module noi și 1547 de parametri de configurație noi.
Principalele modificări
Stage 1/initrd acum funcționează în mod implicit pe systemd.
Faza timpurie de boot, responsabilă de pregătirea sistemului înainte de a lansa sistemul de operare principal, a fost transformată în systemd. Vechea variantă bazată pe scripturi a fost declarată învechită și planificată pentru eliminare în NixOS 26.11. Temporar, se poate reveni la comportamentul anterior prin boot.initrd.systemd.enable = false, dar dezvoltatorii nu recomandă această abordare. Pentru sistemele cu discuri LUKS, sunt descrise în detaliu nuanțele migrației, inclusiv specificarea corectă a /dev/mapper/ și modificarea comportamentului cererii de parolă.A fost adăugat system.nix ca punct alternativ de intrare pentru configurație.
Pe lângă fișierele uzuale configuration.nix și flake.nix, acum se poate folosi system.nix. Acest lucru permite configurarea NixOS fără nix-channel, de exemplu, cu un arhivă Nixpkgs fixată explicit. În mod implicit, fișierul este căutat ca /etc/nixos/system.nix, dar calea poate fi modificată prin , --file și --attr.Kernelul Linux a fost actualizat în mod implicit de la 6.12 la 6.18.
În același timp, celelalte ramuri de kernel suportate rămân disponibile, ca înainte: utilizatorul poate alege versiunea dorită prin configurația NixOS.D-Bus a fost înlocuit în mod implicit cu dbus-broker.
În locul implementării clasice dbus, acum se folosește dbus-broker, care este poziționat ca fiind mai performant și mai fiabil, menținând compatibilitatea cu implementarea de referință D-Bus. Schimbarea implementării necesită repornirea, deoarece nu este sigur să repornești D-Bus în mijlocul unei sesiuni de utilizator. Dacă este necesar, vechea implementare poate fi păstrată prin services.dbus.implementation = "dbus";Driverul de testare NixOS a obținut backend pe systemd-nspawn.
Teste de integrare pot fi acum executate nu doar în QEMU-VM, ci și în containerele systemd-nspawn. Aceasta ar trebui să accelereze testele și să reducă consumul de resurse acolo unde nu este nevoie de o configurare completă. mașină virtuală Se menționează în mod special posibilitatea de a testa sarcini GPU/CUDA prin montarea la bind a nodurilor de dispozitiv gazdă în interiorul containerelor.Au fost actualizate componentele cheie din Nixpkgs.
GCC a fost actualizat de la 14 la 15, Node.js implicit - de la 22 LTS la 24 LTS, Ruby - de la 3.3 la 3.4. Pentru GCC și Node.js, dezvoltatorii avertizează separat despre posibilele modificări incompatibile înapoi.GNOME a fost actualizat la versiunea 50 „Tokyo”.
În această versiune este inclus GNOME 50, pentru care sunt anunțate îmbunătățiri de accesibilitate, gestionare a display-urilor și alte modificări ale mediului desktop.Ultima versiune Nixpkgs cu suport pentru x86_64-darwin.
Nixpkgs 26.05 va fi ultima versiune cu suport pentru Intel macOS. Versiunile binare și suportul pentru platformă vor rămâne până la sfârșitul ciclului de viață 26.05, dar în 26.11 construirea pentru x86_64-darwin și suportul pentru construirea din surse vor fi suspendate.
Module noi
În NixOS 26.05 au fost adăugate multe module noi pentru servicii și programe. Printre cele notabile se numără:
- services.openthread-border-router — modul pentru OpenThread Border Router, un gateway între rețelele mesh Thread și rețelele IP.
- programs.atuin — integrarea Atuin pentru sincronizarea, căutarea și backup-ul istoriei shell-ului.
- services.meshtasticd — suport pentru Meshtastic, o rețea mesh descentralizată pentru dispozitive cu consum redus.
- services.reaction — demon similar cu fail2ban: analizează ieșirea programelor și poate bloca adresele în caz de erori repetate de autentificare.
- services.vinyl-cache — nou modul după redenumirea proiectului Varnish Cache în Vinyl Cache; vechiul services.varnish este păstrat pentru migrare.
- services.rqbit — client BitTorrent scris în Rust cu API HTTP și interfață web.
- services.tailscale.serve — configurare declarativă Tailscale Serve pentru publicarea serviciilor locale în tailnet.
De asemenea, au fost adăugate module pentru ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane și alte servicii.
Modificări pentru administratori și stații de lucru
Configurarea NVIDIA a devenit mai declarativă.
A fost adăugat parametrul hardware.nvidia.branch pentru selectarea ramurii driverului, a fost actualizat legătura modulului NixOS cu noul layout al pachetului nvidia-x11, iar parametrii modulului kernel pot fi acum definiți prin hardware.nvidia.moduleParams, după care sunt scriși în configurația modprobe, nu sunt transmiși prin linia de comandă globală a kernelului.Wine a fost actualizat la ramura 11.0.
Pentru utilizatorii care rulează aplicații și jocuri Windows prin Wine, aceasta înseamnă trecerea la o nouă ramură majoră Wine ca parte din setul stabil de pachete NixOS 26.05.Certificatul ACME a primit un timp de reînnoire dinamic.
Dacă security.acme.defaults.validMinDays nu este setat, NixOS calculează acum momentul reînnoirii ținând cont de durata de valabilitate a certificatului: pentru certificatele obișnuite reînnoirea se face după două treimi din durata de viață, pentru cele de scurtă durată — după jumătate din termen.OpenSSH a primit noi opțiuni.
Acum puteți genera chei gazdă prin services.openssh.generateHostKeys = true, chiar dacă serverul SSH nu este activat. Acest lucru este util pentru sistemele care necesită chei gazdă SSH pentru alte sarcini, cum ar fi agenix sau sops-nix. A fost adăugat și parametrul services.openssh.enableRecommendedAlgorithms, care permite renunțarea la setul de algoritmi recomandați de NixOS.Nextcloud este actualizat implicit la v33 pentru noile sisteme.
Pentru configurațiile cu system.stateVersion >= 26.05 se folosește implicit pkgs.nextcloud33. Dezvoltatorii avertizează că actualizarea directă de la Nextcloud 31 sau de la versiuni mai vechi la 33 nu este posibilă: trebuie mai întâi să treceți printr-o versiune intermediară.Logarea zgomotoasă a conexiunilor refuzate de firewall a fost dezactivată.
Parametrul networking.firewall.logRefusedConnections este acum implicit egal cu false, deoarece pe servere, accesibile din internet, astfel de mesaje pot să umple rapid buffer-ul kernel-ului și să suprime informații de diagnosticare mai utile.glibc a fost actualizată la 2.42.
Noua versiune nu mai face ca stiva să fie executabilă, dacă acest lucru este cerut de biblioteca partajată. Dezvoltatorii consideră astfel de cazuri o eroare și sugerează corectarea compilării prin -z,noexecstack sau curățarea flag-ului prin patchelf —clear-execstack; activarea globală a vechii comportamente nu este recomandată din motive de securitate.
NixOS 26.05 este o versiune cu schimbări infrastructurale semnificative: trecerea initrd la systemd, renunțarea la vechiul D-Bus implicit, un nou mod de a descrie sistemul prin system.nix, o actualizare majoră a Nixpkgs și pregătiri pentru eliminarea platformelor și modulelor învechite.
Sursa: linux.org.ru
