mirror of
https://github.com/foo-dogsquared/nix-module-wrapper-manager-fds.git
synced 2025-01-31 04:58:17 +00:00
18 lines
1.3 KiB
Plaintext
18 lines
1.3 KiB
Plaintext
= wrapper-manager modules
|
|
:toc:
|
|
|
|
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 those `makeWrapper` 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` and `environment.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` and `wrappers.<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 in `xdg.dataDirs` and `wrappers.<name>.xdg.dataDirs` implementation.
|
|
This is designed like that so the user can override the entire thing if they choose.
|