Direnv Setup
Now that you have the required dependencies installed (using Homebrew or Nix), it’s time to set up direnv, a tool we use to manage local environment variables.
Run the following command from the mymove directory:
direnv allow
This will load up the .envrc file. It should complain that you have missing variables. We’ll fix that next.
To fix the missing variables issue, run the following command to let direnv get secret values with chamber (which was installed when you ran make prereqs from the previous step):
cp .envrc.chamber.template .envrc.chamber
For users of the fish shell, replace direnv allow with direnv export fish | source.
Troubleshooting direnv and chamber
Make sure you have the latest version of Chamber that supports the env command option. You may run into the following error if the version of Chamber you have installed does not support env. The error presents itself because of the chamber commands that direnv runs as part of the .envrc.* files shown above.
~ % cd mymove
direnv: loading .envrc.chamber
Error: unknown command "env" for "chamber"
Run 'chamber --help' for usage.
Optional: Helpful variables for .envrc.local
Increase concurrency of
golangci-lint; defaults to 6 on dev machines and to 1 in CircleCI:export GOLANGCI_LINT_CONCURRENCY=8Enable go code debugging in GoLand:
export GOLAND=1Silence SQL logs locally; we default this to be true in
.envrc:export DB_DEBUG=0