Lansarea distribuției NixOS 22.05, bazată pe managerul de pachete Nix, aduce o serie de dezvoltări proprii care simplifică configurarea și întreținerea sistemului. De exemplu, în NixOS, întreaga configurare a sistemului se face printr-un singur fișier de configurație a sistemului (configuration.nix), oferind posibilitatea de a reveni rapid la o versiune anterioară a configurației, suport pentru comutarea între diferite stări ale sistemului, instalarea de pachete individuale de către utilizatori separați, precum și utilizarea simultană a mai multor versiuni ale unei singure aplicații, asigurând construcții reproductibile. Dimensiunea imaginii complete de instalare cu KDE este de 1.7 GB, GNOME — 2.2 GB, iar varianta console redusă — 820 MB.
Noutăți principale:
- Pentru a simplifica instalarea distribuției, a fost propus un instalator grafic bazat pe framework-ul Calamares, care este utilizat pentru a crea instalatori în proiecte precum Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva și KDE neon. Noul instalator este livrat în mod implicit în imaginile iso cu GNOME și KDE.

- Au fost adăugate 9345 de pachete, 5874 de pachete au fost șterse, 10666 de pachete au fost actualizate. Versiunile pachetelor au fost actualizate, inclusiv GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Au fost adăugate peste 89 de servicii noi, printre care aesmd (Intel SGX Architectural Enclave Service Manager), Docker fără root (pentru a rula Docker fără drepturi de administrare), matrix-conduit (server matrix), apfs (Apple File System), FRRouting (implementarea protocoalelor de rutare), snowflake-proxy (proxy pentru a ocoli cenzurarea traficului), pgadmin4 (GUI pentru gestionarea PostgreSQL), moosefs (FS distribuit), nbd (Dispozitiv de bloc de rețea) Au fost șterse 27 de servicii, în principal din cauza ramurilor de programe învechite sau legate de Python2.
- Managerul de pachete Nix a fost actualizat la versiunea 2.8, care oferă suport pentru funcționalități experimentale activabile separat (flake). De exemplu, a fost adăugată comanda experimentală „nix fmt” pentru a conecta gestionarii pentru formatarea ieșirii și modul experimental „impure” pentru generarea de căi țintă care diferă la fiecare construcție. Pentru diverse opțiuni, s-a oferit suport pentru descărcarea conținutului din fluxul de intrare (de exemplu, „—file -“).
- Pachetul cu browserul Firefox pentru arhitectura x86_64 a fost construit cu optimizări bazate pe rezultatele profilării codului (PGO) pentru a îmbunătăți performanța.
- A fost adăugat un handler security.acme.defaults pentru a simplifica configurarea obținerii certificatelor TLS.
Atunci când se utilizează Nix, rezultatul construcției pachetelor este stocat într-un subdirector separat în /nix/store. De exemplu, după construirea pachetului firefox, acesta poate fi scris în /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, unde „1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4” este hash-ul tuturor dependențelor și instrucțiunilor de construcție. Prin instalarea unui pachet se înțelege fie construirea, fie descărcarea unui pachet deja construit (în cazul în care acesta a fost deja construit pe Hydra — serviciul de construcție al proiectului NixOS), precum și generarea unui director cu linkuri simbolice către toate pachetele din profilul sistemului sau al utilizatorului, cu adăugarea ulterioară a acestui director în lista PATH. O abordare similară este aplicată și în managerul de pachete GNU Guix, care se bazează pe lucrările Nix. Colecția de pachete este prezentată într-un depozit special Nixpkgs.
Sursa: opennet.ro

