Local Development Tooling
Just a summary of the tools I’m using to manage my local development environment.
2020
2025
-
chezmoi is a dotfiles manager that helps me keep my overall shell environment in sync across machines. It’s a minor improvement over yadm, templates are slightly better for mac/linux and personal/work alternates, and I have a preference for file copies over symlinks - if I just have a one-off config change on one machine, I can still do a config sync without needing to juggle git merges.
-
mise is a manager for version managers, as well as a shell environment manager. I primarily work in Ruby, but dabble all over, and it makes a lot of sense to replace rvm/rbenv, nvm, pyenv, etc with a single tool that has a consistent interface - and mise is an improvement over asdf in that it’s zero-config out of the box and smart enough to not need to manually juggle plugin setup.
mise install
in a Rails project will just do the right thing, setting up the ruby & node versions the repo is already tagged with. It also handles environment variables, and while I like the simplicity oflayout ruby
coming from direnv, it’s easy enough to work with a mise preset script to bootstrap project dirs.
To investigate
- devenv builds atop Nix to set up 100% reproducible local environments/dependencies.