Представлен релиз дистрибутива NixOS 25.05, основанного на пакетном менеджере Nix и предоставляющего собственные разработки для упрощения настройки и сопровождения системы. В NixOS вся настройка системы осуществляется через единый файл системной конфигурации configuration.nix. Предоставляются возможности для быстрого отката системы на предыдущую версию конфигурации и переключения между различными состояниями системы. Поддерживается установка индивидуальных пакетов отдельными пользователями и возможность одновременного использования нескольких версий одной программы. Обеспечены воспроизводимые сборки. Для архитектур x86_64 и ARM64 подготовлен установочный образ с графическим окружением (3.7 ГБ) и сокращённый консольный вариант (1.4 ГБ).
При использовании Nix результат сборки пакетов хранится в отдельном подкаталоге в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4-firefox-138.0.4/, где “5onlv1pc3ed6n5nskg8ew4twcfd0d5ae4ec5d4” является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra – сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Основные новшества:
- Добавлено 7840 пакетов, удалено 1694 пакетов, обновлено 28054 пакетов. Добавлено 137 новых модулей и 1930 опций конфигурации, удалено 10 модулей и 215 опций. В разработке и сопровождении пакетов приняли участие 2857 разработчиков, подготовивших 57054 изменения.
- Предложен выпуск среды рабочего стола GNOME 48. По умолчанию задействован музыкальный проигрыватель Decibels. Прекращена установка по умолчанию набора дополнений к GNOME Shell (gnome-shell-extensions).
- Обновлены пользовательские окружения Cinnamon 6.4, Pantheon 8 (elementary OS), Xfce 4.20.
- Добавлена поддержка пользовательского окружения COSMIC.
- Добавлены новые модули Anubis, AmneziaVPN, Cursor, Kismet, vwifi, Ghidra, Yggdrasil-Jumper, MaryTTS, doh-server, Schroot, Firezone, PostgREST, postgres-websockets, pgBackRest, µStreamer, nfc-nci, victorialogs, Zipline, vsmartcard-vpcd, LiteLLM, Rebuilderd, GNU Rush, GoDNS и т.д.
- Обновлены версии программ, например, ядро Linux 6.12 (было 6.6), GCC 14, LLVM 19, OpenSSH 10.0p2 (прекращена поддержка DSA-ключей).
- Добавлена поддержка создания контейнеров (virtualisation.containers) на базе podman, работающих в режиме без прав root.
- Реализована команда “nixos-rebuild build-image” для сборки специфичных дисковых образов на основе заданной конфигурации.
- Команда nixos-option переписана и переведена на использование выражений Nix.
- Переработан способ формирования пакетов с драйверами Mesa. Установленные в системе приложения, связанные с разными версиями Mesa, теперь должны работать корректно, а глобальной версией Mesa можно управлять без массовой пересборки.
- В репозиторий channels.nixos.org добавлена поддержка протокола Lockable HTTP Tarball, позволяющего использовать архивы nixexprs.tar в качестве образов Nix Flake.
- В команду nixos-generate-config добавлена опция “–flake” для генерации файла flake.nix помимо файлов configuration.nix и hardware-configuration.nix, для упрощения интеграции с конфигурациями на базе flake.