Mise
- Website
- Getting started
- direnv suport
- vaults/secrets management
- State files:
~/.local/state/mise
Backends
- Mise docs: Backends
- registry.toml
- See which backends are available for a tool
- Alternate backends (brew, nix, npm, cargo, etc)
Because of the extra complexity of asdf tools and security concerns we are actively moving tools in the registry away from asdf where possible to backends like aqua and ubi which don't require plugins
Install
Arch / Manjaro:
pamac install mise-bin
Install usage
package for tab-completion:
mise use -g usage
Configure bash integration:
Be sure to add it to your .bash_profile
so non-interactive scripts find
the binaries paths.
Shims
- Shims dir:
~/.local/share/mise/shims
- Shims: How they work in mise-en-place
- Shims: Build a version manager
Plugins
List all available plugins:
mise plugin ls-remote
Install plugins:
mise plugin install node
mise plugin install python https://github.com/asdf-community/asdf-python
mise plugins install node https://github.com/mise-plugins/rtx-nodejs.git#v1.0.0
mise plugin install opentofu https://github.com/NorddeutscherRundfunk/asdf-opentofu#parse-legacy-file
Terraform
Mise is able to read the Terraform version from a legacy version file,
in this case main.tf
file (must be there,
no other filename is parsed), and automatically install it on next Terraform
call. This way, no extra .mise.toml
is needed.
Attention: If the main.tf
is using legacy provider version contraints
(i.e. google = "5.35.0"
), mise will refuse to parse the required_version
silently !
Otherwise, you can of course use
mise use terraform@1.4.7
which will create/update a .mise.toml
file though.
Install Terraform gloablly:
mise use --global terraform@1.4.7
Opentofu
mise use opentofu@1.4.5
Environments
Templates
Exec function
Example how to source secrets (use cache options to speed up promts so the exec is not evaluated each time):
[env]
ETC_PASSWORD = "{{exec(command='rbw get etc/password', cache_key='secret', cache_duration='1d')}}"
Mise Terraform issues: