mise-en-place: среда разработки в мире cargo
Пару дней назад я открыл для себя mise (произносится как «meez»). Это универсальный менеджер версий инструментов, похожий на asdf или pyenv, а также менеджер окружения, как direnv, который отличается высокой скоростью работы, надёжностью, декларативной конфигурацией и таким же удобством использования, как у cargo.
Я отказался от hatch, который ранее использовал исключительно для загрузки Python из python-build-standalone с помощью команды hatch python install all --update. Я также перестал использовать Node из Homebrew и удалил собственные скрипты из dotfiles, которые синхронизировали установки pipx между рабочим и личным ноутбуками.
Мой ~/.config/mise/config.toml теперь выглядит так:
[]
= ["3.12", "3.11", "3.10", "3.9", "3.8"]
= "lts"
= "latest" # требуется самим mise
= "latest"
= "latest"
= "latest"
= "latest"
[]
= true # бэкенд pipx находится в экспериментальном режиме
Кроме того, я начал использовать функцию управления окружением от mise. Файл .mise.local.toml с переменными окружения, специфичными для компании, я разместил в директории с рабочими репозиториями:
[]
= "..."
= "..."
= "..."
...
Пока что всё работает отлично.