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 \
  yarn

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 \
  zoom

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 
Amphetamine937984704
Bear 1091189122
iA Writer775737590
Logic Pro X634148309
Final Cut Pro424389933
Magnet441258766
Pocket568494494
TweetDeck485812721
Xcode497799835
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": "iTerm.app",
    "terminal.integrated.shell.osx": "/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.

code/
  src/
    github.com/
      westerncj/
        a-project/
    gitlab.com/
      cwestern/
        b-project/

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