Magic per-project shell environments. Very pretentious.
If a directory contains a .env
file, it will automatically be executed when you cd
into it.
This is great for...
- auto-activating virtualenvs
- project-specific environment variables
- making millions
Foreman env files are completely compatible.
You can also nest envs within eachother. How awesome is that!?
Follow the white rabbit:
$ touch project/.env
$ echo "echo 'woah'" > project/.env
$ cd project
woah
Install it easily:
$ brew install autoenv
$ echo 'source /usr/local/opt/autoenv/activate.sh' >> ~/.bash_profile
$ pip install autoenv
$ echo "source `which activate.sh`" >> ~/.bashrc
$ git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv
$ echo 'source ~/.autoenv/activate.sh' >> ~/.bashrc
Autoenv overrides cd
. If you already do this, invoke autoenv_init
within your custom cd
after sourcing activate.sh
.
Autoenv can be disabled via unset cd
if you experience I/O issues with certain file systems, particularly those that are FUSE-based (such as smbnetfs
).
Install the test runner:
$ make
gem install dtf --version 0.1.2
Successfully installed dtf-0.1.2
Test:
$ make test
dtf tests/*
............
##### Processed commands 14 of 14, success tests 12 of 12.