Setting up my MacBook from Scratch

I bit the bullet and reformatted my MacBook Pro over the weekend. My motivation for doing this was to start from scratch to figure out what apps I need. I’m documenting the process I followed here. This guide is a work-in-progress.

Backing Up My Files

I wanted to keep it simple and work on organizing all of my files later. So I used the Carbon Copy Cloner to do the hard work with backing up all my files over to my Drobo 5N. This took longer than I expected, so be patient.

Signing Out

You’ll need to make sure you sign out and deauthorize applications before you reformat.

Installing Applications and Configuring

Since I’m a developer, I’m always on the lookout for MacBook setup guides. I found this impressive guide by Tania Rascia and was inspired to make my own.

After installing Homebrew, here are the apps I installed.

brew install \
  git \

brew install --cask \
  visual-studio-code \
  1password \
  bartender \
  brave-browser \
  firefox \
  carbon-copy-cloner \
  cleanmymac \
  cleanshot \
  screenflow \
  visual-studio-code \
  iterm2 \
  docker \
  vlc \
  slack \
  todoist \
  notion \
  postman \
  coda \
  malwarebytes \
  steam \
  dotnet-sdk \

Since I needed to install Mac Store apps, I installed and used the mas-cli.

brew install mas
mas install 937984704 1091189122 775737590 634148309 424389933 441258766 568494494 485812721 497799835 1489591003
ApplicationApp Store Identifier 
Bear 1091189122
iA Writer775737590
Logic Pro X634148309
Final Cut Pro424389933
Edison Mail1489591003

I used cask-versions to install alternative versions of applications that I haven’t upgraded like Alfred.

brew tap homebrew/cask-versions
brew cask install alfred3 # then activated my power pack license

Turn off spotlight keyboard shortcut and set keyboard shortcut to CMD + spacebar for Alfred.

iTerm2 Setup

I followed this to setup my iTerm2.

Visual Studio Code

    "workbench.startupEditor": "newUntitledFile",
    "workbench.colorTheme": "New Moon",
    "terminal.external.osxExec": "",
    "": "/bin/zsh",
    "terminal.integrated.fontFamily": "MesloLGS NF",
    "workbench.colorCustomizations": {
        "terminal.foreground": "#839496",
        "terminal.background": "#002833",
        "terminal.ansiBlack": "#003541",
        "terminal.ansiBlue": "#268bd2",
        "terminal.ansiCyan": "#2aa198",
        "terminal.ansiGreen": "#859901",
        "terminal.ansiMagenta": "#d33682",
        "terminal.ansiRed": "#dc322f",
        "terminal.ansiWhite": "#eee8d5",
        "terminal.ansiYellow": "#b58901",
        "terminal.ansiBrightBlack": "#586e75",
        "terminal.ansiBrightBlue": "#839496",
        "terminal.ansiBrightCyan": "#93a1a1",
        "terminal.ansiBrightGreen": "#586e75",
        "terminal.ansiBrightMagenta": "#6c6ec6",
        "terminal.ansiBrightRed": "#cb4b16",
        "terminal.ansiBrightWhite": "#fdf6e3",
        "terminal.ansiBrightYellow": "#657b83",
        "terminalCursor.foreground": "#839496",
        "terminalCursor.background": "#003541"

Setting Up A Directory Structure for Projects

I recommend using Stuart Ellis’ directory structure for projects, which looks like this for me.


Thanks for reading, I’d love to hear your thoughts. Find me on twitter.

Every week, I send out a hand-curated newsletter of everything interesting I’ve read or found. Sign up below to get my must-reads in your inbox every week.

We won't send you spam. Unsubscribe at any time. Powered by ConvertKit