<name>.env
files..envrc
file.bash
cargo install rs-env
The resulting set of environment variables is an amalgamation of all files involved in the dependency tree, parent variables are overwritten by child variables.
<name>.env
and must be prefixed with export
command# rsenv: <name.env>
or via the command: rsenv link <root.env> <child1>.env <child2>.env
.Source the resulting set of variables as usual:
bash
source <(rsenv build <leaf-node.env>)
``` Hierarchical environment variable management
Usage: rsenv [OPTIONS] [NAME] [COMMAND]
Commands: build Build the resulting set of environment variables (DAG/Tree) envrc Write the resulting set of variables to .envrc (requires direnv, DAG/Tree) files Show all files involved in resulting set (DAG/Tree) edit-leaf Edit the given environment file and all its parents (DAG/Tree) edit Edit the FZF selected branch/DAG select-leaf select environment/branch and update .envrc file (requires direnv, DAG/Tree) select FZF based selection of environment/branch and update of .envrc file (requires direnv, DAG/Tree) link Link files into a linear dependency branch (root -> parent -> child) branches Show all branches (linear representation) tree Show all trees (hierarchical representation) tree-edit Edit branches of all trees side-by-side (vim required in path) leaves Output leaves as paths (Tree) help Print this message or the help of the given subcommand(s)
Arguments: [NAME] Optional name to operate on
Options:
-d, --debug... Turn debugging information on
--generate
-h, --help Print help
-V, --version Print version
```
direnv activates environments automatically.
- rs-env can update the .envrc
file with the selected dependency graph variables.
Life injection of environment variables:
- Plugin EnvFile can be used to life-inject environment variables.
- Use the script runenv.sh
as the "EnvFile" script (tick executable checkbox !).
- The environment variable RUN_ENV
parametrizes which environment to load.
- It will look for a file <RUN_ENV>.env
in the specified directory.
rsenv select
: run debug target and check rsenv .envrc file.