Details for Setting Up a New Mac

For years I’ve maintained a “Mac Setup Checklist” in a text file to remind me of all the things I need to do when I set up a new Mac or perform a clean install of macOS.

The checklist is more than just a list of the applications I install. It also includes configuration changes and customizations such as macOS settings, application settings, scheduled tasks, Terminal/shell settings, and more.

Since this is something I only do every couple of years, it’s easy to forget the details, so the file has been really helpful. But my needs also tend to change over that time so it’s become sort of a living document: each time I use it, I make a new copy as a starting point, work through it as I set up my Mac, and update it accordingly, removing obviated items, adding new items, and updating out-of-date sections.

This has worked pretty well in a text-file format but recently I wanted to add screenshots of some setting panes to make it easier to follow so I thought I’d put it up here instead and maybe others can get some use from it. This will be a “living” blog post, in a way as I plan to update it as needed.

I’ve broken this into four sections that mostly follow the order I use. The list of tasks and applications is pretty large, but I don’t really go through this completely when setting up a new computer - I mostly cover the macOS and Utilities sections first so I can just get my new computer in a familiar state and then I selectively pick and choose other applications on an as-needed basis, but I’m trying to include everything here so I have one point of reference for all the applications I use, even if infrequently.

macOS

After installing a fresh copy of macOS, the first part of my setup process is to configure and customize the OS. I always use the same login name and then log into iCloud to begin the process of syncing files, photos, credentials, and other data stored in the cloud.

Note that this “configuration” step includes the installation of one third-party application, 1Password, just to make it easy to access credentials I’ll need along the way.

If I’m reinstalling macOS from scratch, or replacing an existing machine and will be selling or trading in the old one, there are a few additional steps required to decommission the old machine.

Pre-flight Steps for Old Machine

  • Deactivate AirBuddy (it supports five active installs and tracks the number of active devices using it, so you need to deactivate an old install if you are no longer using it)
  • For newer Macs, you can just erase everything
    System Settings > General > Transfer or Reset > Erase All Content and Settings...
  • For older Macs, you need to do a few extra things
    • System Settings > [Apple ID] > iCloud > Find My Mac (may need to click “Show More Apps...” first) > “Turn Off...”
    • System Settings > [Apple ID] > “Sign Out...”
    • Messages > Settings... > iMessage > Sign Out

1Password

  • Login to 1password.com (requires user ID, Secret Key and password from 1Password on my iPhone or another Mac)
  • My Account > “Get the Apps”, download the app and run it
  • 1Password > Settings... > Browser, follow process to add the 1Password for Safari extension

Configuration changes

  • System Settings
    • General
      • Sharing
        • Screen Sharing: on
        • Remote Login: on
        • Local hostname > “Edit...”, change to [name].local, (the text doesn’t look editable but it is)
    • Touch ID & Password > Apple Watch: on
    • Desktop & Dock > Position on screen: Right
  • Finder > Settings... > Sidebar, check “Hard disks” and “david/Home”

Desktop Mac

There are some special settings for my desktop, which I keep on all the time, so I can run scheduled tasks, plus I have external backup drives attached to it.

  • Disk Utility > “Bootable Backup” > Mount, enter the password for my external USB “Bootable Backup” drive and save this in Keychain
  • System Settings > Siri & Spotlight > Spotlight Privacy, add “Bootable Backup” and “OWC2TB” to Privacy list
  • Photos > Settings > iCloud > Download Originals to this Mac: on
  • Mail > Settings > Accounts > Google > Download Attachments: All
  • Turn off sleeping
    • System Settings > Battery > Options..., "Prevent automatic sleeping when the display is off”: on
    • Set daily sleep/wake schedule
      sudo pmset repeat wakeorpoweron MTWRFSU 06:00:00 sleep MTWRFSU 23:00:00
    • Verify the schedule
      pmset -g sched (look at the "Repeating power events" at the top)
Repeating power events:
  wakepoweron at 6:00AM every day
  sleep at 11:00PM every day
...   

Utilities

Tailscale

  • Download from App Store
  • Run Tailscale, login with Google account
  • Settings > Launch Tailscale at login
  • If this is a replacement machine, Settings > Accounts > Admin Console, delete old machine, rename the new one
  • Settings > Accounts > Admin Console, ...
    • Edit machine name
    • Disable key expiry
  • tailscale status to confirm

LaunchControl

Keyboard Maestro

Development Tools

zsh

  • set ~/.zshenv to contain export ZDOTDIR=/Users/david/Library/Mobile\ Documents/com~apple~CloudDocs/Documents/zsh

Terminal

  • Terminal > Settings > Profiles
  • Select “Silver Aerogel”, set as Default
  • Text
    • Color & Effects
      • Normal windows: 100% Opacity and Blur
      • Inactive windows: 40% Opacity, 50% Blur
    • Set cursor color to red
  • Window
    • Columns: 120, Rows: 60
  • Shell
    • When the shell exits: Close if the shell exited cleanly

ssh

Homebrew

  • Install brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • If you get zsh: complicit errors after installing homebrew, run compaudit to see which directories are causing this, then run sudo chown -R 755 <directory> to fix the permissions.

Python

  • brew install python

VS Code

  • Download from website
  • Setup Settings Sync with Github
    • Gear icon > Turn on Settings Sync... > Sign in with Github
    • (This will bring over extensions and other settings)

Scheduled Tasks

  • On desktop Mac
    • daily activity report
    • checkout findash Github repo
    • cp com.noisysignal.daily_activity_report.plist \~/Library/LaunchAgents/.
    • Run LaunchControl to test and debug

SF Symbols

Xcode

  • Download from App Store

git

  • (comes with Xcode Command Line Tools)
  • brew install gh (github credential manager)
  • gh auth login (follow prompts, can do this for multiple Github accounts)
    • Account: GitHub.com
    • Protocol: HTTPS
    • Use GitHub credentials: Yes
    • Login with browser

Sketch

  • Download from website
  • Login with account in 1Password

Docker

Applications

Install these on-demand when/if needed

Back Blaze

AirBuddy

Audio Hijack

Backblaze

Note: Enable this at the end of setting up the computer to give iCloud, Spotlight, and Photos a chance to download and process data, otherwise it goes kind of crazy trying to keep up with all the file changes.
  • If this is a new machine, add it as such. If instead, this is replacing an existing machine, use Inherit Backup.

CCC

Chrome

Craft

  • Download from App Store
  • Sign in with Gmail address

Final Cut Pro

iA Presenter

iA Writer

  • Download from App Store
  • Settings > Accounts > + Ghost
  • Add in Admin API Key and Admin URL from 1Password

Microsoft Office

  • Download from App Store
  • Login with “David Microsoft Live” credentials in 1Password

Moom

  • Download from website
  • Key in Craft

NetNewsWire

  • Download from website
  • NetNewsWire > Settings > Accounts, add iCloud, deactivate On My Mac

Paprika

  • Download from App Store

ScanSnap ix1500 - ScanSnap Manager V7

Setapp

  • Download from website
  • Install common apps
    • Bartender
    • Clean Shot X
    • Hand Mirror
    • iStat Menus
    • TablePlus
    • Timing

Slack

  • Download from website
  • Launch and will redirect to web to login
  • Select channels

TextExpander

  • Log into website
  • Get the app
  • Install it
  • Log in

Things

  • Download from App store
  • Things > Settings > Things Cloud: on
  • Login using 1Password credentials
  • Things > Settings > Quick Entry > Enable shortcut for Quick Entry with Autofill: on
    (Takes you to Things website to download Things Helper, run it, then delete it)

Zoom