I’m reading this Overlays part. I don’t know where to look for in nixpkgs repo for a list of scopes like xfce
, gnome3
as mentioned in the wiki page
Could you please help?
I’m reading this Overlays part. I don’t know where to look for in nixpkgs repo for a list of scopes like xfce
, gnome3
as mentioned in the wiki page
Could you please help?
You would typically want to override a specific package so you would find its attribute path, for example, using nix search
or through the package search. It is not clear from the attribute path if the attributes are scoped though so you would have to dig into the source code.
To illustrate this:
xfce.xfce4-terminal
attribute.pkgs/top-level/all-packages.nix
, where all top-level attributes are listed. You would findpkgs/desktops/xfce/default.nix
and you will see that it creates a scope:Note that not all nested attributes are scoped, for example, gimpPlugins
were not scoped until recently. Those would be overridden like regular attribute sets. And some language environments like haskellPackages
use custom overriding mechanism.
If you want to see all top-level attributes containing scopes, you could try to wade through all-packages.nix
. Or try running the following expression in nix repl
:
> let nixpkgsPath = ./.; pkgs = import nixpkgsPath {}; in builtins.filter (a: let result = builtins.tryEval pkgs.${a}; in if result.success then result.value ? overrideScope' else false) (builtins.attrNames pkgs)
[ "agdaPackages" "cinnamon" "coqPackages" "coqPackages_8_10" "coqPackages_8_11" "coqPackages_8_12" "coqPackages_8_5" "coqPackages_8_6" "coqPackages_8_7" "coqPackages_8_8" "coqPackages_8_9" "dockapps" "emacs26Packages" "emacs27Packages" "emacsPackages" "gimpPlugins" "gnome2" "gnome3" "kdeApplications" "kdeFrameworks" "libsForQt5" "libsForQt512" "libsForQt514" "libsForQt515" "lumina" "lxqt" "netsurf" "ocamlPackages" "pantheon" "plasma5" "poetry2nix" "qt5" "qt512" "qt514" "qt515" "rustPackages" "rustPackages_1_45" "rustPackages_1_48" "windows" "xfce" "xorg" ]