A minimal, portable environment variable manager. No systemd. No daemons.
- Stores vars in
~/.config/envm/env - Works in any POSIX shell (
bash,zsh,dash) +fish - Subcommands:
add,edit,remove,list,export,completions
On Arch Linux, envm is available on the AUR:
paru -S envm
# or
yay -S envmgit clone https://github.com/objz/envm.git
cd envm
cargo build --releaseThe binary is at target/release/envm.
envm add TEST 123envm edit TEST 456envm remove TESTenvm list
TEST = 456bash/zsh:
eval "$(envm export)"fish:
envm export | sourcePut the appropriate line in your shell's init file (~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish) to load all vars automatically in every new session.
# bash - add to ~/.bashrc
eval "$(envm completions bash)"
# zsh - add to ~/.zshrc
eval "$(envm completions zsh)"
# fish
envm completions fish > ~/.config/fish/completions/envm.fishTab-completing envm edit or envm remove will suggest your existing variable names.
Licensed under GPLv3. Don't strip the license, thanks.