Gli sviluppatori di NixOS hanno presentato il rilascio NixOS 26.05 «Yarara» — di una nuova versione stabile della distribuzione, costruita attorno alla configurazione dichiarativa del sistema e al gestore di pacchetti Nix. Il rilascio riceverà correzioni di bug e aggiornamenti di sicurezza fino al 31 dicembre 2026, mentre la versione precedente NixOS 25.11 «Xantusia» è stata dichiarata obsoleta e raggiungerà la fine del supporto il 30 giugno 2026.
Alla preparazione del rilascio hanno partecipato 2842 sviluppatori, che hanno contribuito con 59.703 commit dalla precedente versione. In Nixpkgs sono stati aggiunti 20.442 nuovi pacchetti, aggiornati 20.641 pacchetti, rimossi 17.532 pacchetti obsoleti. In NixOS sono stati introdotti 85 nuovi moduli e 1547 nuovi parametri di configurazione.
Modifiche principali
Stage 1/initrd ora funziona di default su systemd.
La fase iniziale di avvio, responsabile della preparazione del sistema prima dell'avvio del sistema operativo principale, è stata trasferita a systemd. La vecchia versione basata su script è stata dichiarata obsoleta e pianificata per la rimozione in NixOS 26.11. Temporaneamente, è possibile tornare al comportamento precedente tramite boot.initrd.systemd.enable = false, ma gli sviluppatori non raccomandano questa via. Per i sistemi con dischi LUKS, sono state descritte separatamente le peculiarità della migrazione, incluso l'indicazione corretta di /dev/mapper/ e la modifica del comportamento della richiesta della frase d’ordine.È stato aggiunto system.nix come punto di ingresso alternativo per la configurazione.
Oltre ai consueti configuration.nix e flake.nix, ora è possibile utilizzare system.nix. Questo consente di configurare NixOS senza nix-channel, ad esempio con un archivio Nixpkgs esplicitamente fissato. Di default, il file viene cercato come /etc/nixos/system.nix, ma il percorso può essere modificato tramite , —file e —attr.Il kernel Linux è stato aggiornato di default da 6.12 a 6.18.
Rimane comunque disponibile, come in precedenza, tutte le altre versioni supportate del kernel: l'utente può selezionare la versione desiderata tramite la configurazione di NixOS.D-Bus è stato sostituito di default con dbus-broker.
Invece dell'implementazione classica di dbus, ora viene utilizzato dbus-broker, che si presenta come più performante e affidabile, mantenendo la compatibilità con l'implementazione di riferimento di D-Bus. Cambiare implementazione richiede un riavvio, poiché non è possibile riavviare in modo sicuro D-Bus durante una sessione utente. Se necessario, è possibile mantenere la vecchia implementazione tramite services.dbus.implementation = "dbus".Il driver di test di NixOS ha ottenuto un backend su systemd-nspawn.
I test di integrazione possono ora essere eseguiti non solo in QEMU-VM, ma anche nei contenitori systemd-nspawn. Questo dovrebbe accelerare i test e ridurre il consumo di risorse dove non è necessaria una soluzione completa. macchina virtuale È stata evidenziata la possibilità di testare i carichi GPU/CUDA grazie al bind-mount dei nodi dei dispositivi host all'interno dei contenitori.Aggiornati i componenti chiave di Nixpkgs.
GCC aggiornato dalla versione 14 a 15, Node.js di default — dalla versione 22 LTS alla 24 LTS, Ruby — dalla versione 3.3 a 3.4. Per GCC e Node.js, gli sviluppatori avvertono specificamente di possibili cambiamenti incompatibili con le versioni precedenti.GNOME aggiornato alla versione 50 "Tokyo".
Il rilascio include GNOME 50, per il quale sono stati annunciati miglioramenti nell'accessibilità, nella gestione dei display e altre modifiche all'ambiente desktop.Ultimo rilascio di Nixpkgs con supporto per x86_64-darwin.
Nixpkgs 26.05 sarà l'ultima versione con supporto per Intel macOS. Le build binarie e il supporto per la piattaforma rimarranno fino alla fine del ciclo di vita di 26.05, ma nelle 26.11 il supporto per le build x86_64-darwin e la costruzione da sorgente verranno interrotti.
Nuovi moduli
In NixOS 26.05 sono stati aggiunti molti nuovi moduli per servizi e programmi. Tra i più rilevanti:
- services.openthread-border-router — modulo per OpenThread Border Router, gateway tra reti mesh Thread e reti IP.
- programs.atuin — integrazione Atuin per sincronizzare, cercare e fare backup della cronologia della shell.
- services.meshtasticd — supporto per Meshtastic, una rete mesh decentralizzata per dispositivi a bassa potenza.
- services.reaction — daemon simile a fail2ban: analizza l'output dei programmi e può bloccare gli indirizzi in caso di errori di autorizzazione ripetuti.
- services.vinyl-cache — nuovo modulo dopo la rinominazione del progetto Varnish Cache in Vinyl Cache; il vecchio services.varnish è ancora presente per la migrazione.
- services.rqbit — client BitTorrent scritto in Rust con API HTTP e interfaccia web.
- services.tailscale.serve — configurazione dichiarativa di Tailscale Serve per pubblicare servizi locali in tailnet.
Sono stati aggiunti anche moduli per ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane e diversi altri servizi.
Modifiche per amministratori e stazioni di lavoro
La configurazione NVIDIA è diventata più dichiarativa.
Aggiunto il parametro hardware.nvidia.branch per scegliere il ramo del driver, aggiornata l'integrazione del modulo NixOS con il nuovo layout del pacchetto nvidia-x11, e i parametri del modulo del kernel possono ora essere impostati tramite hardware.nvidia.moduleParams, dopodiché vengono registrati nella configurazione di modprobe, anziché passati tramite la linea di comando globale del kernel.Wine è stato aggiornato alla versione 11.0.
Per gli utenti che eseguono applicazioni Windows e giochi tramite Wine, questo significa passare alla nuova grande versione di Wine nell'insieme stabile di pacchetti NixOS 26.05.I certificati ACME hanno ottenuto un tempo di rinnovo dinamico.
Se security.acme.defaults.validMinDays non è impostato, NixOS ora calcola il momento del rinnovo tenendo conto della durata del certificato: per i certificati normali il rinnovo avviene dopo due terzi della durata, mentre per quelli a breve termine dopo metà della durata.OpenSSH ha ricevuto nuovi parametri.
Ora è possibile generare chiavi host tramite services.openssh.generateHostKeys = true, anche se il server SSH stesso non è abilitato. Questo è utile per i sistemi che necessitano di chiavi host SSH per altre attività, ad esempio agenix o sops-nix. È stato aggiunto anche il parametro services.openssh.enableRecommendedAlgorithms, che consente di rinunciare all'insieme di algoritmi raccomandato da NixOS.Nextcloud si aggiorna automaticamente alla versione v33 per i nuovi sistemi.
Per le configurazioni con system.stateVersion >= 26.05, viene utilizzato per impostazione predefinita pkgs.nextcloud33. Gli sviluppatori avvertono che l'aggiornamento diretto da Nextcloud 31 o versioni precedenti a 33 non è possibile: è necessario passare prima attraverso una versione intermedia.È disabilitata la registrazione rumorosa delle connessioni rifiutate dal firewall.
Il parametro networking.firewall.logRefusedConnections ora è impostato per impostazione predefinita su false, poiché su server, accessibili da internet, tali messaggi possono rapidamente saturare il buffer di kernel e spingere fuori informazioni diagnostiche più utili.glibc è stata aggiornata alla versione 2.42.
La nuova versione non rende più eseguibile lo stack se la shared library lo richiede. Gli sviluppatori considerano tali casi un errore e suggeriscono di correggere la build tramite -z,noexecstack o di rimuovere il flag tramite patchelf —clear-execstack; abilitare globalmente il comportamento precedente non è raccomandato per motivi di sicurezza.
NixOS 26.05 è una release con cambiamenti infrastrutturali significativi: passaggio a systemd per initrd, abbandono del vecchio D-Bus come predefinito, nuovo modo di descrivere il sistema tramite system.nix, grande aggiornamento di Nixpkgs e preparazione per la rimozione di piattaforme e moduli obsoleti.
Fonte: linux.org.ru
