direnv : ディレクトリ設定

Last Change: 05-Nov-2015.
author : qh73xe

python には pyenv という仮想環境があります. これを利用すると,特定のディレクトリに移動している時にだけ,特定の python 環境を使用することができ,とても便利です. 一方で,あるディレクトリに移動した際にのみ行いたい作業というものはいくつかあります. 例えば git のレポジトリを確認したいとか,tmux を特定の状態にしたいとか.

こういう時に便利なのが direnv というツールらしいので使用してみます.

導入

github にソースがあるのでそこから利用していきます.

git clone https://github.com/direnv/direnv
cd direnv
make install

zsh 側に設定を読み込ませたいので .zshrc を変更します.

.zshrc
eval "$(direnv hook zsh)"

shell コマンドを使用する

direnv の本質は ENV ですので,環境設定です. ただ,ぶっちゃけ便利なのはあるディレクトリに移動した際に自動で特定のコマンドが実行されることかと思います. これも環境設定と同様に記述すればよいです.

ディレクトリごとの設定ファイルを記述するには, 該当のディレクトリに移動して,以下のコマンドを実行します.

direnv edit .

上記のコマンドを実行すると現在いるディレクトリ直下に .envrc というファイルを作成します. 後は適当に実行したいコマンド,設定その他を記述すれば大抵幸せになるのではないでしょうか?