Dotenv section switcher
docker | ||
src | ||
test_data | ||
.env.example | ||
.envrc | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
COPYING | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
README.md | ||
shell.nix |
vnetod*
* inverted word "dotenv"
Are you still switching sections in your dotenv file manually? Try this dotenv section switcher!
You can create many sections in your .env
and switch between them.
Rules:
- State name starts on a new line with
###
symbols (Ex.### local
) - State name can contain multiple comma-separated sections (Ex.
### local,staging
) - Each section may specify a namespace (Ex.
### debug:on,dev:on
). If a section doesn't contain a namespace, it's a global namespace. - State ends if line is empty or contains a new state name.
You can see the full example.
Usage
Basic usage
cp .env.example .env
vnetod local # enable local section
vnetod staging # enable staging section
vnetod local debug # enable local and debug sections
vnetod # disable all sections
This tool uses .env
from your current location, but you can change this
behavior with the -f
(--file
) flag.
cp .env.example .env.properties
vnetod -f .env.properties local
And you can also change the output file with the -o
(--output
) flag, if you
don't want to overwrite the input file.
vnetod -f .env.example -o .env local
You can also use variables from namespaces
vnetod db:staging debug:off
You can switch between states and overwrite from namespaces at the same time.
vnetod local db:staging debug:off
For more information, see the help.
vnetod --help
Install
Cargo
cargo install vnetod
Docker
docker run --rm -it -v $PWD:/data pleshevskiy/vnetod --help
Nix
nix run git+https://git.pleshevski.ru/pleshevskiy/vnetod -- --help
Contact me
- send feedback
- make an issue
- matrix: @pleshevskiy:matrix.org
- email: dmitriy@ideascup.me
License
GNU General Public License v3.0 or later
See COPYING to see the full text.