Как переопределить пакеты в Nix?

Nix использует концепцию «неподвижной точки» для переопределения пакетов, позволяя изменять их конфигурацию без прямого изменения исходного кода. Это достигается путем создания функции fix, которая рекурсивно вызывает сама себя, обеспечивая доступ к переопределенным параметрам внутри набора пакетов.
Как переопределить пакеты в Nix?
Изображение носит иллюстративный характер

config.packageOverrides — специальный атрибут, который позволяет применять переопределения к пакетам. Вместо непосредственного изменения пакета, создаётся его переопределённая версия, например, отключение поддержки X Window System в graphviz. Это обеспечивает возможность пересобрать только те пакеты, которые зависят от измененного, оставляя остальную часть системы нетронутой.

Переопределения пакетов выполняются в файле config.nix, который автоматически загружается при импорте nixpkgs. Это упрощает процесс и устраняет необходимость явной передачи параметров при каждом импорте. В config.nix задаются нужные переопределения, что приводит к пересборке только необходимых пакетов.

Использование переопределений гарантирует, что разные версии пакетов могут работать параллельно без конфликтов. Старые приложения продолжат использовать старые версии библиотек, а новые версии будут использовать новые, что сохраняет стабильность всей системы.


Новое на сайте

19779Кератин как тормоз воспаления: неожиданная роль знакомого белка 19778Ботнет Chaos перенацелился на облака и обзавёлся SOCKS-прокси 19777Когда комета PanSTARRS станет видна невооружённым глазом? 19776Почему списки «качеств лидера» не работают и что делают настоящие руководители 19775Спичечные этикетки как летопись потерянного Малибу 19774Тёмная материя корпоративных учётных записей: почему половина цифровых идентичностей... 19773Тысячи уязвимостей нулевого дня: что нашла ИИ-модель Anthropic в крупнейших системах мира 19772Как женщина начала чихать личинками и поставила врачей в тупик? 19771Почему учёный-изгнанник из Ирана получает главную водную премию мира? 19770Вечные химикаты: как DuPont отравил планету 19769ДНК раскрыла происхождение человека из испанского мегалита, но его вера так и осталась... 19768Какапо: самый толстый попугай планеты переживает рекордный бэби-бум 19767Docker позволял взломать хост одним большим запросом — и ИИ сам до этого додумался 19766Откуда взялась республиканская партия: революция или консерватизм? 19765ИИ в медицине: когда алгоритм «видит» то, чего нет
Ссылка