Skip to content

Latest commit

 

History

History
109 lines (68 loc) · 3.21 KB

direnv.md

File metadata and controls

109 lines (68 loc) · 3.21 KB

direnv - .envrc

direnv reads .envrc files and auto-loads useful environment variables upon switching directories that allow you to quickly switch between AWS profiles, EKS clusters, Terraform & Terragrunt versions or any number of other software versions or profiles.

Install direnv

On Mac just:

brew install direnv

This is automatically installed as part of core software by make in DevOps-Bash-tools repo.

For other platforms and more install details read:

https://direnv.net/docs/installation.html

Commands

Enable direnv in your shell

Add the direnv hook to your shell $HOME/.bashrc or similar:

eval "$(direnv hook bash)"

Approve .envrc files

When you switch to a directory containing an .envrc file for the first time it will print a warning that you need to approve the .envrc file.

cd to a dir with a .envrc and then run this allow it to automatically load this .envrc each time in future:

direnv allow

To edit, will auto-approve when you save and exit:

direnv edit

Advanced Examples

General - Ansible, Cloudflare, Docker, GitHub, Pre-Commit

.envrc

Python

Since recent versions of pip on Macs don't like to let you install packages to the system python any more, you really need to keep a virtualenv activated all the times for your personal tools and scripts.

Create your Python virtual:

virtualenv ~/venv

Then use this .envrc to keep it automatically activated:

.envrc-python

AWS

.envrc-aws

GCP

.envrc-gcp

Kubernetes

.envrc-kubernetes - Kubernetes-configs repo

or

.envrc-kubernetes - DevOps-Bash-tools repo

Terraform

.envrc-terraform

Readme Card

Readme Card