Documenting My Mac Setup
Between loaners, replacements, and other surprises, over the past year or so I’ve set up new Mac laptops more than I ever have before. I tend to start fresh rather than migrate in order to get that nice clean digital slate. But what I don’t do, is document the process all that well. You’re in luck future self, because 4th time is the charm.
Prerequisites
- Make a cup of coffee.
- Make sure you have your 2FA apps handy
- For anything that isn’t in version control or in the cloud (hopefully that list gets smaller every time you do this), copy over files using a USB drive.
System Preferences
-
If I’m using multiple monitors, configure monitor orientation under System Preferences -> Displays.
-
System Preferences -> Trackpad:
- Uncheck ‘Look up & data detectors’.
- Enable tap to click.
- Secondary click - click in bottom right corner.
-
System Preferences -> Dock: Position on screen left.
-
Finder -> Preferences -> Show Hard Disks on the Desktop
-
Sign in and enable iCloud
-
System Preferences -> Mission Control
- Disable ‘automatically rearrange spaces based on most recent use’
- Disable ‘displays have separate spaces’
Software
-
Install Chrome (yeah, I know)
- Sync to Google Account if possible (has the added bonus of syncing all extensions.) Otherwise install:
- Instapaper
- Zoom Scheduler
- Last Pass or 1Password
- Wappalyzer
- Ghostery (and turn off the stats overlay in settings.)
- Xdebug Helper
- Dreditor
- React Dev Tools
- Evernote Web Clipper
- Momentum
- Log into Last Pass extension
- Preferences -> Appearance - turn off ‘Show warning before quitting with ⌘Q’ (I’ve always been baffled about that being a default)
- Sync to Google Account if possible (has the added bonus of syncing all extensions.) Otherwise install:
-
Install Firefox and Edge for cross browser fun.
-
Sign in to Mac App Store and download the following apps and utilities:
- Evernote.
- Install Things and set up Things Cloud.
- Set up all the Slacks.
- Unclutter (can’t live without this one) Configure to store files in ~/Downloads
- Lightshot Screenshot
- Pomodoro timer - currently using Be Focused Pro
- Giphy Capture
-
Set up email. Outlook or Gmail for work depending on company preferences. Log into Hey (or whatever you replaced it with after your subscription lapses - some real nonsense going on at Basecamp).
-
Download and configure Bartender
-
Download and activate Deckset
-
Install Raycast and replace the spotlight hotkey.
-
Tunes - Install Sonos and set up account in Apple Music App.
-
Postman - for API debugging
Terminal and SSH
- Install developer tools by typing
git
in the terminal. - Follow First Time Github Guide, but use a stronger key.
- Change git editor to Nano:
git config --global core.editor "nano"
- Add key to ssh-agent
- Add new key to Bitbucket, Github, Gitlab, Pantheon and Acquia accounts as needed (Acquia requires an RSA key. Hopefully they will support ed25519 in the future, but in the meantime using RSA will make your life easier.)
- Install Oh My Zsh
- Installed Powerline Fonts via git clone
- Change zsh theme by editing ~/.zshrc and change to agnoster
- Update ZSH permissions as outlined here.
- Terminal Preferences - Changed default profile to Pro and font to ‘Source Code Pro for Powerline’ size 11.
- VS Code User Preferences - Changed Terminal › Integrated: Font Family to ‘Source Code Pro for Powerline’
- Install Homebrew
IDE(s)
Download and install Visual Studio Code and enable the following extensions:
- Markdown all in one
- Markdown Preview Enhanced
- Code Spell Checker
- Empty Indent
- Indent Rainbow
- Eslint
- Gitlens
- HTML CSS Support
- PHP Debug
- PHP Doc Blocker
- PHP Intelephense
- phpcbf
- phpcs
- Prettier
- Twig
- Debugger for Chrome
Plus many more that will be triggered by project configuration.
I also add the following settings in the user version of settings.json
{
"editor.tabSize": 2,
"editor.detectIndentation": false,
"editor.fontFamily": "'Source Code Pro for Powerline', Menlo, Monaco, 'Courier New', monospace",
"explorer.confirmDelete": false,
"window.zoomLevel": 1,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
"*.theme": "php"
},
}
Local Development Environment
NodeJS
- Install NVM via Homebrew (following manual steps outlined at end of install process)
- Install latest node LTS via homebrew
nvm install --lts
PHP
- Upgrade PHP Version
brew install php@7.4
. Follow manual installation steps to add this new php version to your path. - Download composer
- Move composer into path
mv composer.phar /usr/local/bin/composer
- Increase composer memory limit by running
echo 'export COMPOSER_MEMORY_LIMIT=-1' >> ~/.zshrc
- Hoping to stick with composer 2, but if I need to downgrade to Composer 1
composer self-update --1
Docker-y Things
-
Install Docker Desktop
- In Docker Desktop preferences, disable starting Docker upon login.
-
Install Lando (assuming that the version packaged with Lando is reasonable, you could install Docker Desktop as part of installing Lando)
-
Install Pantheon LocalDev
Dock
- Rip a bunch of nonsense out of the dock.
- Add: Outlook, Things, Chrome, VS Code, Slack, Terminal, Evernote, Sonos
Things to install as needed:
- Audio Hijack
- Dropbox (hoping to find my way out of Dropbox…)
- EncryptMe
- FileZilla
- Kap
- Mmhmm
- XCode
- Sonos
- Descript
- Sketch - because that is what you see most designs in these days.
- Creative Cloud / Photoshop
- PHP Storm because their visual merge conflict resolution tool is still way better than VS Code.
- Atom for a lightweight editor when you need one.
Vagrant
Fingers crossed that my Vagrant days are over, but if needed:
-
Download and install VirtualBox
-
Download and install Vagrant
-
Install the following Vagrant plugins:
vagrant plugin install vagrant-auto_network
vagrant plugin install vagrant-hostsupdater
vagrant plugin install vagrant-vbguest
You did it. Take a nap.