This is pretty much true for Linux as well, but I mostly use OSX these days. I set up machines infrequently enough that there's a lot of fumbling around while I remember how to do all this so I'm writing this down to have in one place for the next time I have to set up a new machine. This list doesn't include things like Rust, which manages itself pretty well, it's for environment settings and things that need an external manager to keep the environment sane.
Aside from the usual applications distributed in .dmg format, I like the following:
- Install ITerm2 because the system terminal is kinda lame. I don't typically do a lot of customization but I do add
vi
mode to the shell by puttingbindkey -v
into ~/.zshrc (or ~/.bashrc). - Create a new SSH key and add it to Github.
- Install Homebrew - this is the bootstrap for most of the rest of the installations. IIRC Homebrew will install the XCode Command Line Tools, which you will need for practically everything else.
- Install PyEnv - there are a bunch of other dependencies, make sure you do those too. The instructions have a few sections, don't forget to install in your login shell or you'll be wondering why
python
doesn't work. - Install pipx for system-wide Python applications.
- Install SDKMan - for all things JVM.