Излезе дистрибуцията NixOS 22.05, основана на пакетния мениджър Nix и предлагаща редица собствени разработки, които опростяват настройката и поддръжката на системата. Например, в NixOS цялата настройка на системата се извършва чрез единен файл за системна конфигурация (configuration.nix), предоставя се възможност за бързо връщане на системата на предишна версия на конфигурацията, налична е поддръжка за превключване между различни състояния на системата, поддържа се инсталиране на индивидуални пакети от отделни потребители, има възможност за едновременна употреба на няколко версии на една програма, осигурени са възпроизводими сборки. Размерът на пълния инсталационен образ с KDE е 1.7 GB, GNOME — 2.2 GB, съкратеният конзолен вариант — 820 MB.
Основни нововъведения:
- За опростяване на инсталацията на дистрибуцията е предложен графичен инсталатор, основан на фреймуърка Calamares, който се използва за създаване на инсталатори в проекти като Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva и KDE neon. Новият инсталатор по подразбиране се доставя в iso-образите с GNOME и KDE.

- Добавени са 9345 пакета, премахнати са 5874 пакета, обновени са 10666 пакета. Обновени са версиите на пакетите, включително GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Добавени са над 89 нови услуги, сред които aesmd (Intel SGX Architectural Enclave Service Manager), rootless Docker (за пускане на Docker без права root), matrix-conduit (matrix-сървър), apfs (Apple File System), FRRouting (реализация на протоколи за маршрутизиране), snowflake-proxy (прокси за заобикаляне на цензурирането на трафика), pgadmin4 (GUI за управление на PostgreSQL), moosefs (разпределена FS), nbd (Network Block Device) Премахнати са 27 услуги, основно с остарели клонове на програми или зависими от Python2.
- Пакетният мениджър Nix е обновен до версия 2.8, в която е предвидена поддръжка на отделно активирани експериментални възможности (flake). Например, добавена е експериментална команда «nix fmt» за свързване на обработвачи на форматирането на изхода и експериментален режим «impure» за генериране на различни при всяко сглобяване целеви пътища до съдържанието. За различни опции е предоставена поддръжка за зареждане на съдържание от входен поток (например, «—file -«).
- Пакетът с браузъра Firefox за архитектура x86_64 е компилиран с оптимизации на базата на резултати от профилиране на кода (PGO) за увеличаване на производителността.
- Добавен е обработчик security.acme.defaults за опростяване на настройките за получаване TLS-сертификати.
При използване на Nix, резултатът от изграждането на пакети се съхранява в отделна поддиректория в /nix/store. Например, след изграждането пакетът firefox може да бъде записан в /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, където «1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4» е хеш на всички зависимости и инструкции за изграждане. Под инсталиране на пакет се разбира изграждането му или свалянето на вече изградения (при условие, че е бил вече изградена на Hydra — услугата за изграждане на проекта NixOS), а също така и образуването на директория със символични линкове към всички пакети в профила на системата или потребителя, с последователното добавяне на тази директория в списъка с PATH. Подобен подход се прилага и в пакетния мениджър GNU Guix, който е основан на напредъците на Nix. Колекцијата от пакети е представена в специалното хранилище Nixpkgs.
Източник: opennet.ru

