Runtimes
Language runtimes, toolchains and execution environments.
These are for writing and running code, and some are used to install tools later on.
I’m still trying out mise, which may eventually replace some or all of these individual installers.
Most of my current code is written in Go.
Python
Section titled “Python”via uv
Python is for scripts, experiments, and access to its huge ecosystem of libraries for data-related tasks.
uv is the fast, modern way to manage it, without the friction of traditional tooling.
via rustup
Lots of the new tools I’m using were made with Rust, and having the toolchain installed makes it easier to try out new ones distributed via Cargo.
Node.js
Section titled “Node.js”via Volta
I use Node.js primarily for frontend tooling and Javascript-based CLIs.
I previously used nvm but found its shell-based loading awkard when using Docker and Ansible.
via mise
PHP is in a good place today, and I’ve spent a significant part of my career working with it, so I keep it installed.
Installing it with mise allows me to script and version the runtime consistently, but that makes building it way more complex than if I’d use Homebrew.
via the installer
Bun’s installed to keep an eye on an alternative JS/TS runtime.