Mimicking global installs with `asdf`

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