.png)
Unter NixOS versuche ich, mein System ohne Gnome zu kompilieren. Beispielsweise hat network-manager/openconnect eine withGnome-Option:
{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
, withGnome ? true, gnome3, procps, kmod }:
Ich würde das gerne auf false setzen; aber obwohl ich das mit einem Overlay machen könnte, ist mir nicht klar, wie ich withGnome auf false setzen kann fürallePakete, die als Teil des Systems erstellt wurden.
In 6.1.1 des Nixos-Handbuchs steht Folgendes; hier scheint es jedoch eher darum zu gehen, ein einzelnes Paket zum Nutzen aller abhängigen Pakete zu überschreiben, als alle Pakete mit einer einzigen Option zu überschreiben.
Die oben gezeigten Überschreibungen sind nicht global. Sie wirken sich nicht auf das Originalpaket aus; andere Pakete in Nixpkgs hängen weiterhin vom Originalpaket ab und nicht vom angepassten Paket. Das bedeutet, dass Sie am Ende zwei Instanzen des Pakets haben, wenn ein anderes Paket in Ihrem System vom Originalpaket abhängt. Wenn Sie möchten, dass alles von Ihrer angepassten Instanz abhängt, können Sie eine globale Überschreibung wie folgt anwenden:
Jede Hilfe ist herzlich willkommen.
Antwort1
In Nixpkgs haben Paketoptionen keine gemeinsame Bedeutung für alle Pakete, daher kann es schwierig sein, alle Abhängigkeiten von Gnome loszuwerden. Es besteht die Möglichkeit, dass Sie dafür ziemlich viele Overrides schreiben müssen. nix why-depends
kann hier sehr hilfreich sein.
Dennoch gibt es eineModulOption namensenvironment.noXlibs
withGnome
, das jede Verwendung einer Paketoption deaktiviert, die ich in Nixpkgs finden konnte. Vielleicht gibt es also einen einfachen Weg?