I spent my free time over the last week setting up a new Macbook Air. Given my constant experimentation with OS X, I build up a lot of mistakes over time. I decided to do this install from the ground up and avoid porting legacy garbage into a new machine. These are my notes from the setup.

I know that tools like Boxen and others can automate a lot of this. They’re primarily for mass-installs, though, and my needs change too frequently to ever really script this process. It’s something I only do every couple of years and my list of apps, settings and tweaks is almost entirely different each time I do it.

Prep

Before I begin, some tricks I’ve learned for making this process easier.

The best tip I can offer is to keep notes on your setup as it changes. This makes the whole process require 90% less thought and lets you get right down to the drudgery of building an awesome system from scratch. Keep notes in text files (or nvALT) and when it’s time to get going, copy them into Apple’s “Notes” app so they’ll be instantly available once you’ve signed in with an Apple ID on a fresh Mountain Lion (or newer) install.

Next, put your portable settings and preferences into Dropbox and symlink the files to their locations as needed. Settings that you’re accustomed to on one machine often translate to a new machine without any modification. Sublime Text, iTerm, Bash, Moom, etc. all have their preference files stored in my Dropbox and symlinked to their appropriate locations on each machine. This is often a PLIST file linked into ~/Library/Preferences, but sometimes an entire ~/Library/Application Support/ folder or subfolders. I use a Dropbox folder called “Sync” for all of these, with sub-folders for each app. Setting up most apps on a new machine is just a matter of a lot of ln -s ... (symlinking) for me.

Lastly (and you should be doing something like this anyway), store all your serial numbers, license files and download info for every app in 1Password. The App Store takes care of half of this battle, but for all of your apps that weren’t purchased through Apple’s App Store, keep a copy of the license code, any key files and the download link in one place. I highly recommend 1Password for this purpose. There are other apps that handle this specific case, but having it all in 1Password means that I only have to sync one keychain file to get all of my licenses and my passwords at once.

Note that you can copy the actual license files and url handler links into 1Password for apps that support them, making registering apps as you install them as easy as a double-click.

First steps

  1. First, I install Dropbox and give it enough time to sync all of my shared preferences, passwords and scripts.
  2. Next comes 1Password, which facilitates the rest of the setup.
  3. I’m lost without TextExpander, so I usually skip ahead and install it next, setting it up to use Dropbox sync and make all of my snippets available.
  4. After that comes nvALT, where I have notes on all of the apps I consider vital and any additional information I’ll need during setup.
  5. Launchbar is next, as I find functioning on any machine without it laborious. Alfred, Quicksilver, whatever your poison.
  6. Then comes the Terminal setup. I’m sure not everybody needs this, but I’m never comfortable until I have:
    • iTerm2 with a synced preference file
    • My bash_it setup with my .bash_profile, .inputrc, aliases, etc.
    • homebrew
    • rvm and a basic gemset
    • Silver Searcher, ack (via brew) and spot
    • My full ~/.ssh setup and a few other vital components

System settings

Before going too much further I need my system settings. There are some excellent ways to automate these, but I find my needs change enough between cold installs that I end up doing a lot by hand. These are my current must-have-off-the-bat settings:

  • Function keys act as function keys (System Preferences → Keyboard)
  • Disable Caps Lock (System Preferences → Keyboard → Modifer Keys)
  • Hyper key/Keybindings
  • No Dock Delay

    defaults write com.apple.Dock autohide-delay -float 0 && killall Dock
  • 2d dock

    defaults write com.apple.dock no-glass -boolean YES && killall Dock
  • Decent desktop wallpaper1.

Utilities:

Then come the utilities. Half of these are in my App Store account, the other half take the effort of typing their name in 1Password, clicking the download link and running them to enter a license code.

Apps:

There are a lot of apps on my machine already, but here are a few of the first I installed:

There’s a lot to configure after this, and a lot of tweaking to do to make me utterly comfortable. This list documents the first part of my process pretty well, though. Maybe it will give you some ideas/inspiration for your next rebuild. Maybe not. Either way this is a good notebook for my next one.

  1. Google’s recent updates to their Image Search have made finding wallpapers a breeze, and accessing them through a DuckDuckGo bang search makes it all the better: https://duckduckgo.com/?q=!img%20apple%20wallpaper