При использовании Nix результат сборки пакетов хранится в отдельной поддиректории в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/1onlv6pc3ez4n5nskg8ew7twcfd0d5ce4ec5d4-firefox-113.0.2/, где «1onlv6pc3ez4n5nskg8ew7twcfd0d5ce4ec5d4» является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra — сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.
Основные новшества:
- Добавлено 16240 пакетов, удалено 13466 пакетов, обновлено 13524 пакетов. Обновлены версии пакетов, например, systemd 253, glibc 2.37, GNOME 44, Cinnamon 5.6, KDE 5.27. Ядро Linux обновлено с версии 5.15 до 6.1.
- Добавлено 63 новых сервиса, среди которых Deepin Desktop, Budgie Desktop, SFTPGo, lldap, ivpn, openvscode-server, ulogd, wstunnel.
- Добавлена поддержка спецификации PEP 668 для исключения конфликтов между Python-пакетами, установленными для всей системы командой «pip install» и пакетным менеджером дистрибутива.
- В утилиту nixos-rebuild добавлена опция «—specialisation» для изменения специализации для команд switch и test.
- В библиотеке libxcrypt отключены ненадёжные алгоритмы хэширования паролей.
- По умолчанию включена опция boot.bootspec.enable, приводящая к генерации загрузочной спецификации (boot.json, RFC-125) для каждой системы, что, например, позволяет реализовать в NixOS поддержку UEFI SecureBoot, обеспечить работу с несколькими initrd, унифицировать скрипты установки загрузчика и применять схемы с ротацией рабочих дисковых разделов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=59226