NixOS: definindo a configuração do pacote globalmente (para todos os pacotes)

NixOS: definindo a configuração do pacote globalmente (para todos os pacotes)

No NixOS, estou tentando compilar meu sistema sem o Gnome. Por exemplo, network-manager/openconnect tem uma opção withGnome:

{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
, withGnome ? true, gnome3, procps, kmod }:

Eu gostaria de definir isso como falso; mas embora eu pudesse fazer isso com uma sobreposição, não estou claro como definir withGnome como false paratodospacotes construídos como parte do sistema.

Em 6.1.1 do manual do nixos, é o seguinte; mas parece tratar-se de substituir um único pacote para o benefício de todos os dependentes, em vez de substituir todos os pacotes com uma única opção.

As substituições mostradas acima não são globais. Não afetam a embalagem original; outros pacotes no Nixpkgs continuam a depender do pacote original e não do pacote personalizado. Isso significa que se outro pacote em seu sistema depender do pacote original, você terá duas instâncias do pacote. Se quiser que tudo dependa da sua instância personalizada, você pode aplicar uma substituição global da seguinte maneira:

Qualquer ajuda muito apreciada.

Responder1

No Nixpkgs, as opções de pacote não têm significado compartilhado entre os pacotes, então pode ser difícil se livrar de todas as dependências do Gnome. Há uma chance de você precisar escrever muitas substituições para ele. nix why-dependspode ajudar muito aqui.

Mesmo assim existe ummóduloopção chamadaenvironment.noXlibs, que desativa todo uso de uma withGnomeopção de pacote que encontrei no Nixpkgs. Então talvez haja uma maneira fácil?

informação relacionada