|
||
---|---|---|
.. | ||
base.nix | ||
build.nix | ||
default.nix | ||
extra-args.nix | ||
files.nix | ||
locale.nix | ||
README.adoc | ||
xdg-desktop-entries.nix | ||
xdg-dirs.nix |
This is the module set of the wrapper-manager module environment. Just take note that we’re following the runtime shell of nixpkgs which is GNU Bash as of 2024-06-30.
Also, take note of several design decisions when making the modules.
-
Typically, several options are designed around one option. The most prominent example of this is
wrappers.<name>.makeWrapperArgs
where we basically create thosemakeWrapper
arguments from other options. -
Another common design here is most of the interaction happens around in individual wrappers so individual-wrapper-wide options are typically accompanied with a environment-wide version of that option. An example of that is
environment.variables
andenvironment.pathAdd
where it’s basically a global set/list of variables and search paths to be put in each wrapper (that is,wrappers.<name>.env
andwrappers.<name>.pathAdd
). -
When constructing modules with a
listOf <type>
that is going to be set some other options, typically it is better to have them set in the individual wrapper and nothing else. An example of that can be seen inxdg.dataDirs
andwrappers.<name>.xdg.dataDirs
implementation. This is designed like that so the user can override the entire thing if they choose.