Stack

How I set up a new Mac: defaults, apps, and tools.

I have been a Mac user for a long time now and during this process I’ve polished my setup and workflow countless times to improve my relationship with my computer.

Here I have everything that’s earned a permanent spot on my Mac in order of installation when setting up a brand new machine, plus a few I’m still trying out in the end. I update this whenever something new sticks or gets replaced.

Not an app but a Dock tweak

The default auto-hide delay is unbearably slow, but luckily there is a way around it by running the following commands on the terminal app:

Warning

Don’t go around running commands on your terminal from random people on the internet. These are safe but do your research too before running them on your machine.

Terminal window
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
killall Dock

The first two commands set the hide and reveal animation time to zero, and the last one restarts the Dock process so the change takes effect immediately.

Feel free to try other float values like 0.1 or 0.25 and see what looks best for you.

And in the case you want to revert back to normal, you can run:

Terminal window
defaults delete com.apple.dock autohide-delay
defaults delete com.apple.dock autohide-time-modifier
killall Dock

Note

I’m a weirdo who doesn’t like the dock at the bottom of the screen. So usually, after this change, I also move the dock to the right.

Move any window by holding Ctrl+Cmd and dragging

By default you can only move a window by dragging its title bar. There’s a hidden global default that lets you drag from anywhere on the window instead, title bar, content, wherever, as long as you hold Ctrl+Cmd:

Warning

Don’t go around running commands on your terminal from random people on the internet. These are safe but do your research too before running them on your machine.

Terminal window
defaults write -g NSWindowShouldDragOnGesture -bool true

No need to restart anything, it takes effect right away for every app.

And in the case you want to revert back to normal, you can run:

Terminal window
defaults delete -g NSWindowShouldDragOnGesture
Mission Control doesn't play nice with AeroSpace

If you use AeroSpace, Mission Control can end up rendering windows way smaller than it should, even when there’s plenty of room, because AeroSpace tends to stack a lot of windows down in the bottom right corner. Turning on “Group windows by application” fixes it:

Warning

Don’t go around running commands on your terminal from random people on the internet. These are safe but do your research too before running them on your machine.

Terminal window
defaults write com.apple.dock expose-group-apps -bool true && killall Dock

Same toggle lives in System Settings → Desktop & Dock → Group windows by application, if you’d rather flip it there.

Turn off "Displays have separate Spaces"

macOS multi-monitor setups get noticeably more stable once you disable “Displays have separate Spaces” (on by default). With it on, moving a window between monitors actually moves it between Spaces, which tools like AeroSpace that rely on the public window APIs don’t handle well, it’s a known source of random focus and performance glitches. The tradeoff is windows can’t span monitors and native fullscreen leaves the second display as a black screen, but for me it’s worth it:

Warning

Don’t go around running commands on your terminal from random people on the internet. These are safe but do your research too before running them on your machine.

Terminal window
defaults write com.apple.spaces spans-displays -bool true && killall SystemUIServer

Same toggle lives in System Settings → Desktop & Dock → Displays have separate Spaces, if you’d rather flip it there.

Note

You need to log out for this one to fully take effect, restarting SystemUIServer isn’t enough.

Apps

These are the basic ones I wish were default features on macOS.

NameWhat it’s forStatusDownload
HomebrewPackage manager that works great on macOSActive
Alfred 5Spotlight replacement with custom workflowsActive
TinycastLauncher with hotkeys and clipboard historyTrying OutHomebrew
Markdown PreviewQuick Look preview for markdown filesActiveHomebrew
IsThereNetA light strip that flags when Wi-Fi dropsActiveHomebrew
AeroSpacei3-like tiling window managerActive
JankyBordersColored border around the focused windowActive