È stato rilasciato il sistema operativo NixOS 22.05, basato sul gestore di pacchetti Nix e fornendo una serie di sviluppi proprietari che semplificano la configurazione e la manutenzione del sistema. Ad esempio, in NixOS, l'intera configurazione del sistema avviene tramite un unico file di configurazione di sistema (configuration.nix), è possibile ripristinare rapidamente il sistema a una versione precedente della configurazione, è supportato il passaggio tra diverse configurazioni del sistema, si consente l'installazione di pacchetti individuali da parte di singoli utenti, è possibile utilizzare più versioni di un programma contemporaneamente e sono garantite compilazioni riproducibili. La dimensione dell'immagine di installazione completa con KDE è di 1,7 GB, GNOME - 2,2 GB, e la variante console ridotta - 820 MB.
Novità principali:
- Per semplificare l'installazione del sistema, è stato proposto un programma di installazione grafico basato sul framework Calamares, utilizzato per creare installer in progetti come Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva e KDE neon. Il nuovo programma di installazione è fornito per 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 (Gestore del Servizio di Enclave Architettonica Intel SGX), Docker senza root (per eseguire Docker senza diritti di root), matrix-conduit (server matrix), apfs (Apple File System), FRRouting (implementazione di protocolli di routing), snowflake-proxy (proxy per aggirare la censura del traffico), pgadmin4 (GUI per la gestione di PostgreSQL), moosefs (filesystem distribuita), nbd (Network Block Device). Rimossi 27 servizi, principalmente quelli con rami di programma obsoleti 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, è stata aggiunta la nuova comando sperimentale «nix fmt» per collegare formattatori di output e una modalità sperimentale «impure» per generare percorsi di contenuti diversi per ogni build. Per diverse opzioni è stato fornito il supporto per il caricamento di contenuti da un flusso di input (ad esempio, «—file -«).
- Il pacchetto con il browser Firefox per l'architettura x86_64 è stato compilato con ottimizzazioni basate su risultati di profiling del codice (PGO) per migliorare le prestazioni.
- È stato aggiunto il gestore security.acme.defaults per semplificare la configurazione della ricezione. certificati TLS..
Quando si utilizza Nix, il risultato della compilazione dei pacchetti è conservato in una sottodirectory separata in /nix/store. Ad esempio, dopo la compilazione il pacchetto firefox può essere registrato 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 (se è stato già costruito 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 dell'utente, con l'aggiunta di questa directory alla lista PATH. Un approccio simile viene utilizzato nel gestore di pacchetti GNU Guix, che si basa sulle tecnologie di Nix. La collezione di pacchetti è disponibile in un apposito repository Nixpkgs.
Fonte: opennet.ru

