I bought a new personal laptop recently and I’m starting a new job soon, which means that I’m going to have a few new Mac laptops to set up in the near future. So, I figured it would be prudent to write my new Mac setup steps before I get the new computers and publish these steps somewhere so that I can easily get up and running with my new machine. My configurations isn’t too crazy, but it is custom, and I think I have enough 3rd-party development and productivity tools installed that it’s worth a blog post to cover all of the bases. On a final note, I’m primarily a backend/distributed-systems/data engineer, so my needs mostly revolve around Scala, Java, Kotlin, Go, Node, Python, and Haskell. YMMV!
This blog will be broken into two sections: a “Before” section that covers what to do before setting up a new Mac (it’s a shorter section that covers exporting/porting existing system settings) and an “Setup” section that covers that actual steps required to get up and running. Finally, before we get started, I wanted to make available a todoist template for all of these tasks that you can easily import into Todoist if you’d just prefer to see the steps without all of the extra explanations. Alright, let’s get started!
There’s not too many steps here, but I definitely recommend making sure that these tasks are done before configuring a new machine since my .rc files and my editor keybindings are specific and integral parts to my efficient workflow. Here’s are the recommended tasks:
These are all the tasks I recommend doing after you’ve gotten your new Mac and want to configure it so that all of the settings match the old one.
chrome://flags
and set Developer Tools Experiments to “Enabled”mkdir ~/.ssh && touch ~/.ssh/config
ssh <command>
it will alias to ssh -i ~/.ssh/key.pem user@example.com
Your ~/.ssh/config
file should look like this
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Host myssh
HostName example.com
User user
IdentityFile ~/.ssh/key.pem
Now just run the alias (ssh myssh
) to connect.
.gitconfig
file from your dotfiles directoryzsh
(the superior Unix shell)
.zshrc
from your dotfiles repo for configuring your zsh
instancegit clone git@github.com:dmarticus/sixarm_mac_setup.git
) and save them somewhere reasonable (e.g. ~/Personal/github/dmarticus/
)
cd
into that reasonable location and run sh defaults-write-our-favorites.sh
to automatically apply a bunch of sane defaults to your computer~/Brewfile
brew bundle install
to install all relevant brew and mas depedendencies. This will take a minute but should work greatFinally, we need to customize any additional settings that could not be configured with the defaults-write-our-favorites.sh
script (Mac OS loves to make it hard to change default settings).
At this point, all of the essentials should be installed and ready to go. As of writing this (6/6/2020), I’ve currently used this setup guide for one (1) of my new Macs and have updated it slightly from the original draft form to reflect the actually installation process, but now this post has officially been end-to-end tested!
Finally, I want to give credit to the following blog posts for paving the way for mine :)