kota's memex

zsh

For a zsh-only alternative (with some additional features such as setting up aliases) see zsh-autoenv.

eval "$(direnv hook zsh)"

allow a .envrc

direnv allow .

vim

Per project .vimrc; in .envrc:

add_extra_vimrc

In ~/.config/direnv/direnvrc:

add_extra_vimrc() {
  local extravim="$(find_up .vimrc)"
  if [ -n "$extravim" ]; then
    echo "Adding extra .vimrc: ${extravim}"
    path_add EXTRA_VIM $extravim
  fi
}

In ~/.vimrc:

if exists("$EXTRA_VIM")
  for path in split($EXTRA_VIM, ':')
    exec "source ".path
  endfor
endif