NixOS: 전역적으로 패키지 구성 설정(모든 패키지에 대해)

NixOS: 전역적으로 패키지 구성 설정(모든 패키지에 대해)

NixOS에서 Gnome 없이 시스템을 컴파일하려고 합니다. 예를 들어 network-manager/openconnect에는 withGnome 옵션이 있습니다:

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

나는 그것을 false로 설정하고 싶습니다. 하지만 오버레이를 사용하여 그렇게 할 수는 있지만 withGnome을 false로 설정하는 방법이 확실하지 않습니다.모두시스템의 일부로 구축된 패키지.

nixos 매뉴얼 6.1.1에는 다음과 같은 내용이 있습니다. 그러나 이는 단일 옵션으로 모든 패키지를 재정의하는 것이 아니라 모든 종속 항목의 이익을 위해 단일 패키지를 재정의하는 것 같습니다.

위에 표시된 재정의는 전역적이지 않습니다. 원본 패키지에는 영향을 미치지 않습니다. Nixpkgs의 다른 패키지는 사용자 정의된 패키지가 아닌 원본에 계속 의존합니다. 즉, 시스템의 다른 패키지가 원래 패키지에 종속되는 경우 해당 패키지의 인스턴스가 두 개가 됩니다. 모든 것이 사용자 정의된 인스턴스에 종속되도록 하려면 다음과 같이 전역 재정의를 적용할 수 있습니다.

도움을 주시면 감사하겠습니다.

답변1

Nixpkgs에서 패키지 옵션은 패키지 간에 공유되는 의미가 없으므로 Gnome에 대한 모든 종속성을 제거하기 어려울 수 있습니다. 이를 위해 꽤 많은 재정의를 작성해야 할 가능성이 있습니다. nix why-depends여기서 많은 도움이 될 수 있습니다.

그럼에도 불구하고기준 치수호출된 옵션environment.noXlibswithGnome, Nixpkgs에서 찾을 수 있는 패키지 옵션 의 모든 사용을 끕니다 . 그렇다면 쉬운 방법이 있을까요?

관련 정보