Состоялся выпуск дистрибутива NixOS 22.11, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS вся настройка системы происходит посредством единого файла системной конфигурации (configuration.nix), предоставляется возможность быстрого отката системы на предыдущую версию конфигурации, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями, есть возможность одновременного использования нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 1.7 ГБ, GNOME – 2.2 ГБ, сокращённого консольного варианта – 827 МБ.
При использовании Nix результат сборки пакетов хранится в отдельной поддиректории в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/1onlv2pc3ez4n5nskg7ew7twcfd0c5ce5ec5d4-firefox-107.0.1/, где “1onlv2pc3ez4n5nskg7ew7twcfd0c5ce5ec5d4” является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra – сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Основные новшества:
- Добавлено 16678 пакетов, удалено 2812 пакетов, обновлено 14680 пакетов. Обновлены версии пакетов, в том числе GNOME 43, KDE Plasma 5.26, Cinnamo 5.4, OpenSSL 3, PHP 8.1, Perl 5.36, Python 3.10.
- Пакетный менеджер Nix обновлён до версии 2.11.
- Добавлено 40 новых сервисов, среди которых dragonflydb, expressvpn,
languagetool, OpenRGB, - Для обработки ситуаций нехватки памяти в системе задействован systemd-oomd.
- Алгоритм для хэширования паролей изменён на sha512crypt в реализации libxcrypt. Поддержка алгоритмов хэширования, отмеченных в libxcrypt как ненадёжные, будет прекращена в выпуске 23.05.
- Генерация документации переведена на использование разметки markdown.
- Поддержка архитектуры aarch64-linux включена в основные каналы сборки nixos-22.11 и nixos-22.11-small. Предложены iso-образы для Aarch64.
- В качестве замены nscd (name service cache daemon) предложен nsncd, который будет задействован по умолчанию в версии NixOS 23.05.
- Добавлена опция hardware.nvidia.open для использования открытого драйвера ядра от компании NVIDIA.