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

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

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

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

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


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

19770Вечные химикаты: как DuPont отравил планету 19769ДНК раскрыла происхождение человека из испанского мегалита, но его вера так и осталась... 19768Какапо: самый толстый попугай планеты переживает рекордный бэби-бум 19767Docker позволял взломать хост одним большим запросом — и ИИ сам до этого додумался 19766Откуда взялась республиканская партия: революция или консерватизм? 19765ИИ в медицине: когда алгоритм «видит» то, чего нет 19764Почему зрелые системы управления доступом в 2026 году стали опаснее, чем незрелые? 19763Почему пароли до сих пор обходятся бизнесу дороже, чем кажется? 19762Как больше тысячи незащищённых серверов ComfyUI стали фермой для майнинга криптовалют? 19761Почему война Калифорнии со смогом в 1970-х изменила весь автопром? 19760Почему фальшивый «слив» Claude Code оказался ловушкой для сотен разработчиков? 19759Как физики умудрились перевезти антиматерию в обычном грузовике? 19758Атака GPUBreach: как через видеопамять можно получить полный контроль над компьютером 19757Что за ядовито-зелёное пятно на водохранилище в ЮАР видно даже из космоса? 19756Как Storm-1175 из Китая ломает корпоративные сети за сутки и что делает Medusa настолько...
Ссылка