Mise
- Website
- Getting started
- direnv suport
- vaults/secrets management
- State files:
~/.local/state/mise
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
```sh
mise use opentofu@1.4.5
```
## Environments
- [Docs: Environments](https://mise.jdx.dev/environments.html)
Example how to source secrets:
```toml
[env]
TF_VAR_password = "{{exec(command='gopass show --password etc/password')}}"
Issues
- Cache env vars with slow exec function calls in templating
- Slows down shell command prompt when using
exec()
templates i.e.
- Slows down shell command prompt when using
mise use
altering global config if local config does not exist- Add support for optional env files