Вот смотрю я на это дело, даже пробовал что nix, что целиком nixos. Я так и не понял нафиг оно вообще нужно? Объясните тупому. Пока оно выглядит как ещё один вариант управления конфигурацией систем, как ansible или его аналоги.
В чём там главная фишка, как заявляется? Типа есть некая конфигурация, которая задаёт состояние системы. Написал я некий конфиг, задал пакеты какие хочу чтобы были установлены, их настройки, все дела. Оно, скажем, работает отлично. Я доволен. Теперь, чтобы ни случилось, я смогу получить рабочую систему в один клик, правда? Развернуть это дело на другой машине, например.
Но, ведь это, мягко говоря не так. Версии-то не фиксируются никак. Т.е. то, что работает сейчас, не факт что заработает через какое-то время. Если мне нужна какая-то конкретная версия чего-либо, то я не смогу её жестко задать без костылей. Сейчас эту проблему «решают» делая несколько вариантов с версией в имени. Например: python39
, python310
и т.д. Ещё можно зафиксировать ревизию nix-pkgs, но этим ты тупо фиксируешь всё вообще, а не конкретные пакеты, которые тебе важны.
Получается, что главная фишка-то не совсем в рабочем виде и это не исправить в текущем дизайне nix.
З.Ы. В дебианахъ и прочих традиционных линуксах предыдущие версии пакетов тоже не хранят, но там и не рекламируют воспроизводимость как фишку, оставляя это на откуп пользователям, которые могут обмазаться локальными зеркалами с хранением версий пакетов вечно.
Перемещено hobbit из general