Installing my tooling

Installing my tooling

Installing software tooling

There are many package managers… but mise (pronounced “meez”) has a wide range of up-to-date tools are not that easy to find in brew and apt. (I really don’t want to use snap on Linux) I also switch between macOS and Linux, upgrade my tooling regularly, and want full control over the versions I use.

For thismise is a great fit.

If mise sounds like sdkman, nvm or asdf, then you are right-ish. Mise is actually heavily influenced by asdf and is partially compatible, plus it has a ton of plugins.

Security is no joke

Installing random tools from the internet is a really bad/dumb idea. Supply chain attacks are a real threat. Before installing mise, have a look at the mise security documentation first. Also, look at the asdf supply-chain-security section.

Installing

These are my notes for installing mise as well as the steps I took to install terraform latest and node LTS using mise on Macos and Debian Linux.

Make sure mise is installed and configured

Make sure you have mise installed. If you previously had asdf installed, it will pick it up.

I use zsh

curl https://mise.run | sh
# Then update your ~/.zshrc with mise
curl https://mise.run/zsh | sh
# run zsh to update your environment with the contents in ~/.zshrc
zsh

I also use bash for scripting

# Then update your ~/.bashrc with mise
curl https://mise.run/bash | sh

See the available plugins

Find your plugin for the software you want to install. Let us pick terraform.

mise plugins ls-remote | less
password                      vfox:mise-plugins/vfox-1password
1password-cli                 vfox:mise-plugins/vfox-1password
aapt2                         vfox:mise-plugins/vfox-aapt2
act                           asdf:gr1m0h/asdf-act
action-validator              asdf:mpalmer/action-validator
actionlint                    asdf:crazy-matt/asdf-actionlint
adr-tools                     asdf:https://gitlab.com/td7x/asdf/adr-tools
ag                            vfox:mise-plugins/vfox-ag
ag                            asdf:mise-plugins/mise-ag
age                           asdf:threkk/asdf-age

Find the plugin

mise plugins ls-remote --urls | grep terraform
terraform                     asdf:mise-plugins/mise-hashicorp
terraform                     vfox:mise-plugins/vfox-terraform
terraform-docs                asdf:looztra/asdf-terraform-docs
terraform-ls                  asdf:mise-plugins/mise-hashicorp
terraform-lsp                 asdf:bartlomiejdanek/asdf-terraform-lsp
terraform-validator           asdf:looztra/asdf-terraform-validator
terraformer                   asdf:gr1m0h/asdf-terraformer

Install and make terraform available

mise use -g terraform
mise ~/.config/mise/config.toml tools: terraform@1.13.4

Check the version

terraform --version
Terraform v1.13.4
on linux_amd64

Upgrade and make the new terraform available

mise upgrade terraform
terraform --version
Terraform v1.14.3
on linux_amd64

Where is my configuration stored

Run this command to see where the config is stored:

mise cfg
Path                        Tools
~/.config/mise/config.toml  terraform
[tools]
terraform = "latest"

Finally remove terraform

mise remove -g terraform
Follow the prompt

Now install the LTS version of node.

I have listed the steps as a single block.

mise use -g node@24.11.0
mise WARN  gpg not found, skipping verification
mise ~/.config/mise/config.toml tools: node@24.11.0
node --version
v24.11.0
mise use -g node@25.2.1
mise WARN  gpg not found, skipping verification
mise ~/.config/mise/config.toml tools: node@25.2.1
node --version
v25.2.1

Use the older LTS version in a directory

mkdir /tmp/lts; cp ~/.config/mise/config.toml mise.toml

Change directory

cd /tmp/lts
mise ERROR error parsing config file: /private/tmp/lts/mise.toml
mise ERROR Config files in /private/tmp/lts/mise.toml are not trusted.
Trust them with `mise trust`. See https://mise.jdx.dev/cli/trust.html for more information.
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information

Trust or not. Read the file first if you did not create it.

mise trust
mise trusted /tmp/lts

Finally, these are my tools I install without a version

mise use -g maven
mise use -g terraform
mise use -g aws-cli
mise use -g python
mise use -g gradle
mise use -g bat
mise use -g jq
mise use -g go
mise use -g hugo

These are my tools I install with a version

mise use java@zulu-21.46.19.0
mise use -g java@zulu-25.30.17.0
mise use -g node@24.11.0

Finally let’s see what is installed

mise ls
Tool       Version          Source                      Requested       
aws-cli    2.32.32          ~/.config/mise/config.toml  latest
bat        0.26.1           ~/.config/mise/config.toml  latest
go         1.25.5           ~/.config/mise/config.toml  latest
gradle     9.2.1            ~/.config/mise/config.toml  latest
hugo       0.154.3          ~/.config/mise/config.toml  latest
java       zulu-21.46.19.0 
java       zulu-25.30.17.0  ~/.config/mise/config.toml  zulu-25.30.17.0
jq         1.8.1            ~/.config/mise/config.toml  latest
maven      3.9.12           ~/.config/mise/config.toml  latest
node       24.11.0          ~/.config/mise/config.toml  24.11.0
python     3.14.2           ~/.config/mise/config.toml  latest
terraform  1.14.3           ~/.config/mise/config.toml  latest
'''