Dev Setup on macOS
I recently set up a macOS dev machine from scratch. This is my notes on the steps I took.
Homebrew takes a while to install. Tick through the System Preferences in the meantime.
- Log in with Apple ID
- Appearance auto
- Hot corners bottom right puts display to sleep
- Move dock to left
- Auto hide dock
- Disable open animations
- Bluetooth show in menu bar
- Focus show in menu bar always
- A11y shortcuts show in Control Centre
- Clock no day of week or date
- Spotlight don’t show in menu bar
- Require password 5 seconds after sleep or screen saver
- Turn on FileVault TODO
- Turn on Firewall? Is this going to be a pita?
- Disable personalised Ads
- Increase tracking speed until it feels right.
- Touchbar shows expanded control strip
- Press fn key to show emojis
- Customise control strip
- Disable some mission control shortcuts (ctrl + up/down)
- Set key repeat to max speed
- Shortcuts -> Use keyboard navigation to move focus between controls
- Applications, Calculator, Conversion, Folders, System Preferences
- Set up Touch ID
Chezmoi will install my dotfiles, and run a ‘one time’ setup script to install various tools and apps via homebrew.
chezmoi init github.com/m-allanson/dotfiles --ssh
Chezmoi will also configure some system defaults using another one time setup script.
I switched from iTerm2 to WezTerm. WezTerm has a text-based config which I can store as part of my dotfiles. View the config here.
- Set as default browser
- Set duckduckgo as default search
- Disable any sponsored suggestions
- Open previous windows and tabs when starting
- Disable ‘confirm before quitting with command+Q’
- Set language to English UK
- Set mailto links to ‘always ask’
- Disable ‘save logins and passwords’
- Enable https only
- I don’t care about cookies
- Multi-Account Containers
- Nitter redirect?
- Privacy Badger
- uBlock origin
- cocopon Iceberg Theme https://cocopon.github.io/iceberg.vim/
- cocopon Iceberg Light Theme
- Disable telemetry
- Disable View -> Appearance -> Activity Bar
- Settings -> Editor: Font family, set to
'SFMono Nerd Font Mono', Zapfino, Menlo, Monaco, 'Courier New', monospace
- Move side bar right
- Disable minimap
I’ve started using VSCode’s settings sync to keep this in sync across different machines.
- Docker (via Docker Desktop)
- CleanShot X
- Sync (sync.com)
- Grand Perspective
- Sort out SSH keys
- Apply licences to purchased software
- Add Fastmail contacts and calendar
- Configure backups
I use Volta to manage different node / npm / yarn versions. It’s installed as part of the Chezmoi run once script mentioned earlier.