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

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

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

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

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


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

19171Вредоносное по VoidLink: созданная с помощью ИИ угроза для облачных систем и финансового... 19170Палеонтологические поиски и научные убеждения Томаса Джефферсона 19169Спасут ли обновленные протоколы безопасности npm от атак на цепочки поставок? 19168Почему критическая уязвимость BeyondTrust и новые записи в каталоге CISA требуют... 19167Севернокорейская хакерская группировка Lazarus маскирует вредоносный код под тестовые... 19166Государственные хакеры используют Google Gemini для кибершпионажа и клонирования моделей... 19165Можно ли построить мировую сверхдержаву на чашках чая и фунтах сахара? 19164Уязвимые обучающие приложения открывают доступ к облакам Fortune 500 для криптомайнинга 19163Почему ботнет SSHStalker успешно атакует Linux уязвимостями десятилетней давности? 19162Microsoft устранила шесть уязвимостей нулевого дня и анонсировала радикальные изменения в... 19161Эскалация цифровой угрозы: как IT-специалисты КНДР используют реальные личности для... 19160Скрытые потребности клиентов и преимущество наблюдения над опросами 19159Академическое фиаско Дороти Паркер в Лос-Анджелесе 19158Китайский шпионский фреймворк DKnife захватывает роутеры с 2019 года 19157Каким образом корейские детские хоры 1950-х годов превратили геополитику в музыку и...
Ссылка