Dotenv section switcher
Find a file
2022-11-07 23:36:54 +03:00
docker bump version 2022-08-02 11:56:56 +03:00
src chore: change email 2022-11-07 23:29:25 +03:00
test_data add support of comments 2022-08-02 00:07:44 +03:00
.env.example implement Display and Error traits for our error objects 2022-07-31 00:54:38 +03:00
.envrc add support of nix 2022-07-31 23:24:46 +03:00
.gitignore bump version 2022-09-18 23:36:25 +03:00
Cargo.lock chore: update lock 2022-09-18 23:37:35 +03:00
Cargo.toml bump version 2022-09-18 23:36:25 +03:00
COPYING . 2022-07-29 16:42:05 +03:00
default.nix add support of nix 2022-07-31 23:24:46 +03:00
flake.lock nix: don't use naersik to build package 2022-09-18 17:23:59 +03:00
flake.nix chore: change nix version format 2022-11-07 23:36:54 +03:00
README.md chore: change email 2022-11-07 23:29:25 +03:00
shell.nix add support of nix 2022-07-31 23:24:46 +03:00

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

License

GNU General Public License v3.0 or later

See COPYING to see the full text.