Initializes asdf, installing it using git if not installed yet. Also, bypasses the shims if you're using the direnv plugin, as suggested by the plugin pro-tips.
The path of ASDF_DIR
, where asdf is installed, is checked among the usual
directories created by Homebrew or Pacman, or the default ${HOME}/.asdf
. You
can define ASDF_DIR
in your .zshrc before initializing this module to customize
its path:
ASDF_DIR=/path/to/asdf_dir
Do do I install the direnv plugin to work with this module?
- Run these commands:
asdf plugin-add direnv asdf direnv setup --no-touch-rc-file --version latest
- Make sure your .zshrc does not contain the following line:
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
To use your system's direnv instead of direnv installed via asdf, follow these steps:
- Keep the asdf direnv plugin installed. You can install it with:
asdf plugin-add direnv
- Uninstall any direnv installed with asdf:
asdf uninstall direnv
- Make sure the ~/.config/direnv/lib/use_asdf.sh script exists. You can
generate it with:
asdf direnv setup --no-touch-rc-file --version system
- Make sure your direnv .envrc files have
use asdf
. - Remove
zmodule asdf
from .zimrc or any asdf initialization from .zshrc. - Make sure you're initializing direnv during shell start-up, preferably with
zmodule dirvenv
in your .zimrc.
Basically you're using direnv to activate asdf this way. Since you're using the system's direnv, that does not depend on asdf to work, it's a much simpler setup.