asdf, a version manager version manager, is an extremely convenient tool.
While it’s great to be able to switch between, say, Python versions between 3.8 & 3.10 or Ruby versions 2.7 & 3.1, there are some tools I want available in all versions of the language, for instance prettier (code formatting) and tldr (simplified man pages).
One way to do this would be to run, say, sudo pip install some-tool-i-love
to make the tool available system-wide but this is generally a bad idea,
I discovered that many of the asdf
plugins support default installs whenever a new version of that language is installed: That is to say, if I install a newer version of Node.js
, I can have prettier
and tldr
automatically installed:
.default-npm-packages
prettier
tldr
In Python I want to have code-formatters black & isort and the bpython interpreter:
.default-python-packages
black
bpython
isort
Another tool I wish to always have available is the time tracker, timetrap As this is available as a Ruby gem, I have included in my .default-gems
:
timetrap