DevEnv/macOS

Taming macOS for a Distraction-Free Dev Setup

Most "productivity setup" advice is aesthetic. These are the handful of changes that measurably cut down how often I got pulled out of focus.

A lot of "optimize your Mac for productivity" advice is really about aesthetics — a nicer dock, a themed terminal, a different font. Those are fine, but none of them changed how often I actually got interrupted mid-task. The handful of changes below did, and none of them are visually interesting.

Notifications: Default to Off, Not Default to Manage

The single biggest change was flipping the default from "every app can notify me unless I turn it off" to "nothing notifies me unless I explicitly allow it." System Settings → Notifications, and going through installed apps to set delivery to "None" by default, then re-enabling only the handful that matter (calendar, messages from specific people) took about fifteen minutes and removed most of the daily interruptions outright.

Focus modes handle the rest for anything I didn't turn off entirely — a "Deep Work" focus that only allows calls from a short allow-list, with a keyboard shortcut bound to it so turning it on doesn't require digging through menus:

# toggle a Focus mode from the terminal via shortcuts CLI
shortcuts run "Toggle Deep Work Focus"

Keyboard Navigation Over Reaching for the Trackpad

Enabling full keyboard access (System Settings → Keyboard → Keyboard Navigation) so Tab moves between all controls, not just text fields, removed a lot of small trackpad reaches throughout the day. Combined with Spotlight (Cmd+Space) for launching anything instead of hunting through the dock or Launchpad, and a window manager bound to keyboard shortcuts for moving/resizing windows, the trackpad became something I use for browsing and design work specifically, not general navigation.

# example window-manager keybindings (yabai config style)
alt - h : yabai -m window --focus west
alt - l : yabai -m window --focus east
alt - return : yabai -m window --toggle zoom-fullscreen

I don't run a full tiling setup day-to-day — it's more than I need — but having a handful of keyboard shortcuts for "maximize this," "move this to the other monitor" removed the small friction of dragging windows around by hand dozens of times a day.

The menu bar accumulates icons from every app that's ever asked for one, most of which I check maybe once a week. Hiding everything except what I actually glance at regularly (battery, wifi, one system monitor) behind a "hidden items" section, shown only on click, means the always-visible bar is short enough to scan without thinking, instead of a long row I've learned to tune out entirely — which defeats the point of a menu bar indicator in the first place.

What I Didn't Bother With

I tried a few of the more elaborate setups — auto-hiding dock with a delay, custom desktop-switching gestures, a fully scripted window layout that restores on login — and rolled all of them back within a week. Each one added a small amount of friction or unpredictability (a gesture that occasionally misfired, a dock delay that made me second-guess whether a click registered) that outweighed whatever polish it added. The pattern I'd generalize from this: changes that remove an interruption tend to be worth keeping; changes that are just "nicer to look at" rarely survive contact with actually using the machine for real work.