Wydano dystrybucję NixOS 22.05, opartą na menedżerze pakietów Nix, która oferuje szereg własnych rozwiązań upraszczających konfigurację i utrzymanie systemu. Na przykład w NixOS cała konfiguracja systemu odbywa się za pomocą jednego pliku konfiguracyjnego (configuration.nix), co pozwala na szybkie przywracanie systemu do wcześniejszej wersji konfiguracji, umożliwia przełączanie między różnymi stanami systemu, wspiera instalację indywidualnych pakietów przez różnych użytkowników, umożliwia jednoczesne używanie kilku wersji tej samej aplikacji oraz zapewnia reprodukowalne kompilacje. Rozmiar pełnego obrazu instalacyjnego z KDE wynosi 1,7 GB, z GNOME — 2,2 GB, a skróconej wersji konsolowej — 820 MB.
Główne nowości:
- Aby uprościć instalację dystrybucji, zaproponowano graficzny instalator oparty na frameworku Calamares, który jest używany do tworzenia instalatorów w takich projektach jak Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva i KDE neon. Nowy instalator jest domyślnie dostępny w obrazach iso z GNOME i KDE.

- Dodano 9345 pakietów, usunięto 5874 pakiety, zaktualizowano 10666 pakietów. Zaktualizowano wersje pakietów, w tym GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Dodano ponad 89 nowych usług, w tym aesmd (Intel SGX Architectural Enclave Service Manager), rootless Docker (do uruchamiania Dockera bez uprawnień root), matrix-conduit (serwer matrix), apfs (Apple File System), FRRouting (implementacja protokołów trasowania), snowflake-proxy (proxy do omijania cenzury ruchu), pgadmin4 (GUI do zarządzania PostgreSQL), moosefs (rozproszony system plików), nbd (Network Block Device). Usunięto 27 usług, głównie starych gałęzi programów lub opartych na Python2.
- Menedżer pakietów Nix zaktualizowano do wersji 2.8, która oferuje wsparcie dla osobno aktywowanych eksperymentalnych funkcji (flake). Na przykład, dodano eksperymentalne polecenie „nix fmt” do podłączania formatowania wyjścia oraz eksperymentalny tryb „impure” do generowania różnych przy każdej kompilacji ścieżek do zawartości. Dla różnych opcji zapewniono wsparcie dla ładowania zawartości z strumienia wejściowego (np. „—file -”).
- Pakiet z przeglądarką Firefox dla architektury x86_64 został skompilowany z optymalizacjami opartymi na wynikach profilowania kodu (PGO) w celu zwiększenia wydajności.
- Dodano obsługę security.acme.defaults, aby uprościć konfigurację pobierania certyfikatów TLS.
W przypadku korzystania z Nix, wynikiem kompilacji pakietów jest przechowywanie w osobnym podkatalogu w /nix/store. Na przykład po kompilacji pakiet firefox może być zapisywany w /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, gdzie „1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4” jest hashem wszystkich jego zależności oraz instrukcji kompilacji. Instalacja pakietu oznacza jego kompilację lub pobranie już skompilowanego (pod warunkiem, że był on już skompilowany na Hydra — serwisie kompilacyjnym projektu NixOS), a także utworzenie katalogu z symbolicznymi linkami do wszystkich pakietów w profilu systemowym lub użytkownika, a następnie dodanie tego katalogu do listy PATH. Podobne podejście stosowane jest w menedżerze pakietów GNU Guix, który bazuje na rozwiązaniach Nix. Kolekcja pakietów jest dostępna w specjalnym repozytorium Nixpkgs.
Źródło: opennet.ru

