È stata rilasciata la distribuzione NixOS 22.05, basata sul gestore di pacchetti Nix e che offre una serie di sviluppi proprietari che semplificano la configurazione e il supporto del sistema. Ad esempio, in NixOS tutta la configurazione del sistema avviene tramite un unico file di configurazione di sistema (configuration.nix), è possibile effettuare un rapido ripristino del sistema alla versione precedente della configurazione, è supportato il cambio tra diversi stati del sistema, è possibile installare pacchetti individuali da parte di utenti separati, è possibile utilizzare contemporaneamente più versioni di un programma e sono garantite compilation riproducibili. La dimensione dell'immagine di installazione completa con KDE è di 1,7 GB, GNOME — 2,2 GB, e la versione console ridotta — 820 MB.
Novità principali:
- Per semplificare l'installazione della distribuzione è stato proposto un installer grafico, basato sul framework Calamares, utilizzato per creare installer in progetti come Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva e KDE neon. Il nuovo installer è fornito di default nelle immagini iso con GNOME e KDE.

- Aggiunti 9345 pacchetti, rimossi 5874 pacchetti, aggiornati 10666 pacchetti. Aggiornate le versioni dei pacchetti, tra cui GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Aggiunti oltre 89 nuovi servizi, tra cui aesmd (Intel SGX Architectural Enclave Service Manager), Docker senza privilegi di root (per eseguire Docker senza diritti di root), matrix-conduit (server matrix), apfs (Apple File System), FRRouting (implementazione dei protocolli di routing), snowflake-proxy (proxy per bypassare la censura del traffico), pgadmin4 (GUI per gestire PostgreSQL), moosefs (filesystem distribuito), nbd (Network Block Device). Rimossi 27 servizi, principalmente legati a versioni obsolete dei programmi o legati a Python2.
- Il gestore di pacchetti Nix è stato aggiornato alla versione 2.8, che offre supporto per funzionalità sperimentali attivabili separatamente (flake). Ad esempio, è stato aggiunto un comando sperimentale "nix fmt" per connettere gestori di formattazione dell'output e una modalità sperimentale "impure" per generare percorsi di contenuto che differiscono ad ogni compilazione. Per le diverse opzioni è fornito supporto per il caricamento del contenuto da un flusso di input (ad esempio, "--file -").
- Il pacchetto con il browser Firefox per l'architettura x86_64 è stato compilato con ottimizzazioni basate sui risultati della profilazione del codice (PGO) per migliorare le prestazioni.
- Aggiunto il gestore security.acme.defaults per semplificare la configurazione del recupero di certificati TLS.
Quando si utilizza Nix, il risultato della compilazione dei pacchetti viene memorizzato in una sottodirectory separata in /nix/store. Ad esempio, dopo la compilazione, il pacchetto firefox può essere scritto in /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, dove «1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4» è l'hash di tutte le sue dipendenze e istruzioni di compilazione. L'installazione di un pacchetto implica la sua compilazione o il download di uno già compilato (a condizione che sia già stato compilato su Hydra — il servizio di compilazione del progetto NixOS), così come la creazione di una directory con collegamenti simbolici a tutti i pacchetti nel profilo di sistema o utente, con successivo aggiungimento di questa directory alla lista PATH. Un approccio simile è applicato nel gestore di pacchetti GNU Guix, basato sugli sviluppi di Nix. La collezione di pacchetti è presentata in un repository speciale Nixpkgs.
Fonte: opennet.ru

