My macOS Setup

I like to setup macOS my way. A companion git repo, new-mac, helps me automate the process to some extent.

Typeface / Font

I like two fonts / typefaces for coding: Hack and Source Code Pro.


I use iTerm2 terminal emulator. I use its Iterm Themes gallery to find my favorite theme, which these days is Jetbrains Dracula.

Visual Studio Code

I really like VS Code with its various extensions.


I was partial to MacPorts for the longest time. But since I switched to Homebrew, I haven't looked back.


I use Firefox everywhere.


Since macOS switched to zsh I'm using it with Oh My Zsh with the bira theme.


direnv is such an awesome tool. It allows me to configure directory specific environment variables.



macOS introduced virtual desktops, aka Spaces, a while ago. I have four permanent spaces for these categories:

  • Coding (terminal, editor, etc.) and general (Finder, etc.)
  • Web browser
  • Email and calendar
  • Instant messages (Slack, Mattermost, Teams, etc.) and conferencing (Zoom, etc.)

Finder Settings

  • Add frequently access folders in Sidebar
  • Show dot files
  • Show Path Bar
  • Show Status Bar
  • Change "New Finder windows show" to show my repositories directory
  • Show hard disks, external disks, and connected servers on the desktop


Set "Allow me to be discovered by" to "No One" by default.


Enable the following in "Allow notifications",

  • When the display is sleeping
  • When the screen is locked
  • When mirroring or sharing the display

"Show previews" is set to "when unlocked".


Under "Power Adapter" I enable these,

  • Prevent your Mac from automatically sleeping when the display is off
  • Wake for network access

And I disable these,

  • Put hard disks to sleep when possible (makes sure Time Machine backups can run if they take a long time)
  • Low power mode

Hot Corners

I set the top right to "Start Screen Saver". This helps me quickly lock the screen when I'm moving away from the computer.