NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.87k stars 13.94k forks source link

[documentation] There is no documentation for `propagatedUserEnvPkgs` #347093

Open AndersonTorres opened 1 week ago

AndersonTorres commented 1 week ago

Describe the bug

A certain time ago I was adding mailutils support to Emacs: https://github.com/NixOS/nixpkgs/pull/307372

During review, @jian-lin suggested that the best place to put mailutils is not in nativeBuildInputs, but rather in propagatedUserEnvPkgs: https://github.com/NixOS/nixpkgs/pull/307372#discussion_r1586341194

Today, while cleaning up some pieces of code, this old memory was triggered and then I decided to search for documentation about propagatedUserEnvPkgs over the source code. And I found virtually nothing: ripgrep returned 128 hits, none of them containing documentation for the users.

Steps To Reproduce

  1. Use ripgrep over Nixpkgs.
  2. Optionally, filter over various extensions (nix, shell, markdown etc.)
  3. No Markdown file is found
  4. Most of other files contain no discernible documentation

Expected behavior

Find some useful documentation, especially in Markdown.

Screenshots

RIPGREP propagatedUserEnvPkgs ```example -*- mode: rg; default-directory: "museoa/nixpkgs/Master/" -*- rg started at Mon Oct 7 11:18:56 /home/anderson/.nix-profile/bin/rg --color=always --colors=match:fg:red --colors=path:fg:magenta --colors=line:fg:green --colors=column:none -n --column --heading --no-config -e propagatedUserEnvPkgs File: pkgs/applications/virtualization/virt-viewer/default.nix 87 3 propagatedUserEnvPkgs = lib.optional spiceSupport spice-gtk; File: pkgs/stdenv/generic/builder.sh 21 8 if [ "$propagatedUserEnvPkgs" ]; then 22 19 printf '%s ' $propagatedUserEnvPkgs > $out/nix-support/propagated-user-env-packages File: pkgs/stdenv/generic/setup.sh 1589 16 if [ -n "${propagatedUserEnvPkgs:-}" ]; then 1592 21 printWords $propagatedUserEnvPkgs > "${!outputBin}/nix-support/propagated-user-env-packages" File: pkgs/applications/science/molecular-dynamics/gromacs/default.nix 89 3 propagatedUserEnvPkgs = lib.optional enableMpi mpi; File: pkgs/applications/networking/mailreaders/evolution/evolution/default.nix 100 3 propagatedUserEnvPkgs = [ File: pkgs/kde/gear/partitionmanager/default.nix 8 3 propagatedUserEnvPkgs = [ kpmcore ]; File: pkgs/applications/science/chemistry/octopus/default.nix 68 3 propagatedUserEnvPkgs = lib.optional enableMpi mpi; File: pkgs/applications/science/chemistry/quantum-espresso/default.nix 100 3 propagatedUserEnvPkgs = lib.optional enableMpi mpi; File: pkgs/applications/science/chemistry/nwchem/default.nix 81 3 propagatedUserEnvPkgs = [ mpi ]; File: pkgs/applications/kde/kate.nix 37 3 propagatedUserEnvPkgs = [ konsole ]; File: pkgs/applications/kde/kalarm.nix 40 3 propagatedUserEnvPkgs = [ kdepim-runtime ]; File: pkgs/applications/kde/merkuro.nix 91 3 propagatedUserEnvPkgs = [ akonadi kdepim-runtime akonadi-search ]; File: pkgs/applications/kde/gwenview/default.nix 30 3 propagatedUserEnvPkgs = [ kipi-plugins libkipi (lib.getBin kinit) ]; File: pkgs/applications/kde/spectacle.nix 32 3 propagatedUserEnvPkgs = [ kipi-plugins libkipi ]; File: pkgs/applications/kde/konsole.nix 28 3 propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; File: pkgs/applications/kde/k3b.nix 33 3 propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; File: pkgs/applications/misc/onboard/default.nix 109 3 propagatedUserEnvPkgs = [ File: pkgs/applications/kde/yakuake.nix 20 3 propagatedUserEnvPkgs = [ konsole ]; File: pkgs/applications/office/kexi/default.nix 29 3 propagatedUserEnvPkgs = [ kproperty ]; File: pkgs/applications/kde/dolphin.nix 20 3 propagatedUserEnvPkgs = [ baloo ]; File: pkgs/applications/kde/kdebugsettings.nix 22 3 propagatedUserEnvPkgs = [ ]; File: pkgs/applications/kde/kmail.nix 109 3 propagatedUserEnvPkgs = [ kdepim-runtime kwallet akonadi ]; File: pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh 110 9 propagatedUserEnvPkgs+=" $1" File: pkgs/by-name/ev/everforest-gtk-theme/package.nix 19 3 propagatedUserEnvPkgs = [ File: pkgs/applications/editors/emacs/build-support/generic.nix 32 3 , propagatedUserEnvPkgs ? [] 63 3 propagatedUserEnvPkgs = finalAttrs.packageRequires ++ propagatedUserEnvPkgs; File: pkgs/applications/editors/emacs/make-emacs.nix 304 3 propagatedUserEnvPkgs = lib.optionals withMailutils [ File: pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix 500 11 propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ]; 625 11 propagatedUserEnvPkgs = [ pkgs.editorconfig-core-c ]; File: pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix 16 7 propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ epkg ]; File: pkgs/applications/editors/emacs/elisp-packages/manual-packages/consult-gh/default.nix 31 3 propagatedUserEnvPkgs = [ gh ]; File: pkgs/applications/editors/emacs/elisp-packages/manual-packages/mu4e/package.nix 13 3 propagatedUserEnvPkgs = [ mu ]; File: pkgs/data/themes/ant-theme/ant-bloody.nix 15 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/ant-theme/ant.nix 15 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/ant-theme/ant-nebula.nix 15 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/amber/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/zuki/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/numix-solarized/default.nix 16 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/numix/default.nix 25 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/greybird/default.nix 37 3 propagatedUserEnvPkgs = [ File: pkgs/applications/editors/emacs/elisp-packages/manual-packages/copilot/package.nix 31 3 propagatedUserEnvPkgs = [ nodejs ]; File: pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/package.nix 20 3 propagatedUserEnvPkgs = [ gzip ]; File: pkgs/data/themes/utterly-nord-plasma/default.nix 22 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/equilux-theme/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/orchis-theme/default.nix 42 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/to/tokyonight-gtk-theme/package.nix 83 5 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/adapta/default.nix 32 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/orion/default.nix 14 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/materia-theme/default.nix 29 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/matcha/default.nix 40 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/skeu/default.nix 26 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/venta/default.nix 27 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/graphite-gtk-theme/default.nix 48 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/pop-gtk/default.nix 42 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/jade1/default.nix 14 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/obsidian2/default.nix 24 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/colloid-gtk-theme/default.nix 43 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/plata/default.nix 45 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/ubuntu-themes/default.nix 33 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/andromeda-gtk-theme/default.nix 27 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/mojave/default.nix 71 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/omni-gtk-theme/default.nix 14 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/snowblind/default.nix 15 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/ka/kanagawa-gtk-theme/package.nix 22 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/plano/default.nix 35 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/marwaita-pop_os/default.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/solarc/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine gtk3 ]; File: pkgs/data/themes/shades-of-gray/default.nix 16 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/qogir-kde/default.nix 23 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/arc/default.nix 36 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/blackbird/default.nix 16 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/dracula-theme/default.nix 18 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/sierra/default.nix 44 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/juno/default.nix 28 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/layan-gtk-theme/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/ayu-theme-gtk/default.nix 40 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/graphite-kde-theme/default.nix 23 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/vertex/default.nix 16 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/qogir/default.nix 48 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/rose-pine-gtk/default.nix 25 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/canta/default.nix 41 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/whitesur-kde/default.nix 22 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/layan-kde/default.nix 23 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/numix-sx/default.nix 12 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/nordic/default.nix 87 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/yaru/default.nix 31 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/vimix/default.nix 46 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/lounge/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/data/themes/flat-remix-gtk/default.nix 22 3 propagatedUserEnvPkgs = [ File: pkgs/data/themes/stilo/default.nix 18 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/applications/window-managers/awesome/default.nix 62 3 propagatedUserEnvPkgs = [ hicolor-icon-theme ]; File: pkgs/by-name/sw/sweet/package.nix 86 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/la/lavanda-gtk-theme/package.nix 29 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/ap/application-title-bar/package.nix 19 3 propagatedUserEnvPkgs = with kdePackages; [ kconfig ]; File: pkgs/tools/misc/kakoune-cr/default.nix 20 3 propagatedUserEnvPkgs = [ jq ]; File: pkgs/by-name/cp/cp2k/package.nix 132 3 propagatedUserEnvPkgs = [ mpi ]; File: pkgs/by-name/ni/nightfox-gtk-theme/package.nix 82 5 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/gn/gnome-boxes/package.nix 84 3 propagatedUserEnvPkgs = [ spice-gtk ]; File: pkgs/by-name/wh/where-is-my-sddm-theme/package.nix 46 5 propagatedUserEnvPkgs = File: pkgs/by-name/fl/fluent-gtk-theme/package.nix 79 5 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/gr/gruvbox-gtk-theme/package.nix 80 5 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/ma/marwaita/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/ma/marwaita-red/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/ma/marwaita-orange/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/ma/matrix-gtk-theme/package.nix 82 5 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/by-name/ma/marwaita-teal/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/ma/marwaita-mint/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/ma/magnetic-catppuccin-gtk/package.nix 39 5 propagatedUserEnvPkgs = [gtk-engine-murrine]; File: pkgs/by-name/ma/marwaita-x/package.nix 28 3 propagatedUserEnvPkgs = [ File: pkgs/tools/security/hash-slinger/default.nix 36 3 propagatedUserEnvPkgs = [ File: pkgs/by-name/po/polari/package.nix 47 3 propagatedUserEnvPkgs = [ telepathy-idle ]; File: pkgs/desktops/mate/mate-themes/default.nix 39 3 propagatedUserEnvPkgs = [ File: pkgs/desktops/plasma-5/default.nix 64 19 propagatedUserEnvPkgs+=" @${out}@" File: pkgs/desktops/plasma-5/plasma-workspace/default.nix 142 3 propagatedUserEnvPkgs = [ qtgraphicaleffects ]; File: pkgs/desktops/deepin/artwork/deepin-gtk-theme/default.nix 19 3 propagatedUserEnvPkgs = [ gtk-engine-murrine ]; File: pkgs/tools/bluetooth/blueman/default.nix 34 3 propagatedUserEnvPkgs = [ obex_data_server ]; File: pkgs/development/ruby-modules/gem/default.nix 50 3 , propagatedUserEnvPkgs ? [] 266 3 propagatedUserEnvPkgs = gemPath ++ propagatedUserEnvPkgs; File: pkgs/development/libraries/kde-frameworks/solid/default.nix 14 3 propagatedUserEnvPkgs = lib.optionals stdenv.hostPlatform.isLinux [ media-player-info ]; File: pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh 114 9 propagatedUserEnvPkgs+=" $1" File: pkgs/development/libraries/kde-frameworks/kservice/default.nix 16 3 propagatedUserEnvPkgs = [ shared-mime-info ]; # for kbuildsycoca5 File: pkgs/development/libraries/grantlee/5/setup-hook.sh 10 9 propagatedUserEnvPkgs+=" $1" File: pkgs/development/python-modules/meep/default.nix 93 3 propagatedUserEnvPkgs = [ mpi ]; rg finished (128 matches found) at Mon Oct 7 11:18:56 ```

Additional context

While searching the GitHub repo, I found an issue deprecating it:

https://github.com/NixOS/nixpkgs/issues/43049

And other one asking for documentation:

https://github.com/NixOS/nixpkgs/issues/73967

Another one from nix:

https://github.com/NixOS/nix/issues/1747

Notify maintainers

@NixOS/documentation-team


Add a :+1: reaction to issues you find important.

teto commented 1 week ago

subscribing to this since the (neo)vim nixpkgs team was going to reinvent this ! (first related issue I could find https://github.com/NixOS/nixpkgs/issues/290027 but there are others)