.png)
На NixOS я пытаюсь скомпилировать свою систему без Gnome. Например, network-manager/openconnect имеет опцию withGnome:
{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
, withGnome ? true, gnome3, procps, kmod }:
Я хотел бы установить значение false; но хотя я мог бы сделать это с помощью оверлея, я не понимаю, как установить значение false для withGnomeвсепакеты, созданные как часть системы.
В пункте 6.1.1 руководства Nixos есть следующее; но, похоже, речь идет о переопределении одного пакета в интересах всех зависимых пакетов, а не о переопределении всех пакетов с помощью одной опции.
Переопределения, показанные выше, не являются глобальными. Они не влияют на исходный пакет; другие пакеты в Nixpkgs продолжают зависеть от исходного, а не от настроенного пакета. Это означает, что если другой пакет в вашей системе зависит от исходного пакета, вы получите два экземпляра пакета. Если вы хотите, чтобы все зависело от вашего настроенного экземпляра, вы можете применить глобальное переопределение следующим образом:
Любая помощь будет высоко оценена.
решение1
В Nixpkgs параметры пакетов не имеют общего значения для всех пакетов, поэтому может быть сложно избавиться от всех зависимостей от Gnome. Есть вероятность, что вам придется написать довольно много переопределений для этого. nix why-depends
может здесь очень помочь.
Тем не менее естьмодульвариант называетсяenvironment.noXlibs
, который отключает все варианты использования пакета, которые withGnome
я смог найти в Nixpkgs. Так может быть, есть простой способ?