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.
defaults write com.apple.dock autohide-delay -float 0defaults write com.apple.dock autohide-time-modifier -float 0killall DockThe 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:
defaults delete com.apple.dock autohide-delaydefaults delete com.apple.dock autohide-time-modifierkillall DockNote
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.
defaults write -g NSWindowShouldDragOnGesture -bool trueNo 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:
defaults delete -g NSWindowShouldDragOnGestureMission 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.
defaults write com.apple.dock expose-group-apps -bool true && killall DockSame 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.
defaults write com.apple.spaces spans-displays -bool true && killall SystemUIServerSame 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.
| Name | What it’s for | Status | Download | |
|---|---|---|---|---|
| Homebrew | Package manager that works great on macOS | Active | ||
![]() | Alfred 5 | Spotlight replacement with custom workflows | Active | |
![]() | Tinycast | Launcher with hotkeys and clipboard history | Trying Out | Homebrew |
![]() | Markdown Preview | Quick Look preview for markdown files | Active | Homebrew |
![]() | IsThereNet | A light strip that flags when Wi-Fi drops | Active | Homebrew |
![]() | AeroSpace | i3-like tiling window manager | Active | |
| JankyBorders | Colored border around the focused window | Active |
| Name | What it’s for | Status | Download | |
|---|---|---|---|---|
![]() | Zen Browser | My open-source Arc replacement | Active | Homebrew |
![]() | Claude | Desktop app for everyday questions and chats | Active | Homebrew |
![]() | ClickUp | Where I track tasks and projects | Active | Homebrew |
![]() | Notion Calendar | Great calendar app with menu bar countdown | Active | Homebrew |
![]() | 1Password | Passwords and secure keys, everywhere | Active | Homebrew |
![]() | Tolaria | My personal knowledge base | Trying Out | Homebrew |
![]() | Antinote | A fast scratchpad for notes and quick math | Trying Out |
| Name | What it’s for | Status | Download | |
|---|---|---|---|---|
![]() | Claude Code | Terminal coding agent | Active | Homebrew |
| Fira Code | Monospaced coding font with ligatures | Active | Homebrew | |
![]() | VS Code | Editor for everything Claude Code doesn’t handle | Active | Homebrew |
| GitHub Desktop | A GUI for git when I’d rather click | Active | Homebrew | |
| GitHub CLI | PRs and issues without leaving the terminal | Active | Homebrew | |
![]() | 1Password CLI | SSH keys and env variables one Touch ID away | Active | Homebrew |
![]() | Node.js | JS runtime behind all my tooling | Active | Homebrew |
![]() | Bruno | Git-friendly, open-source API client | Active | Homebrew |
![]() | Xcode | Only here to build for iOS/macOS | Active |
| Name | What it’s for | Status | |
|---|---|---|---|
![]() | Apple Keynote | Presentations, cleaner than PowerPoint | Active |
![]() | Apple Numbers | Quick, lightweight spreadsheets | Active |
![]() | Apple Pages | Word processor for the rare non-Word doc | Active |
![]() | ONLYOFFICE | Word/Excel-compatible docs, no subscription | Trying Out |
| Name | What it’s for | Status | Download | |
|---|---|---|---|---|
![]() | Affinity | Photo, Designer, Publisher, no subscription | Active | |
![]() | VLC | Plays pretty much any video format | Active | |
![]() | Pearcleaner | Uninstaller that removes the leftovers | Active | |
![]() | Lunar | Syncs brightness across every display | Trying Out | |
![]() | KeepingYouAwake | Keeps my Mac awake during builds and demos | Trying Out | |
![]() | LocalSend | Open-source AirDrop, cross-platform | Trying Out | |
![]() | MacPacker | Archive manager for zip, rar, 7z and more | Trying Out | Homebrew |
| Name | What it’s for | Status | |
|---|---|---|---|
![]() | Bambu Studio | Slicer for my Bambu Lab printer | Active |
![]() | Balena Etcher | Flashes OS images to USB/SD, fuss-free | Active |
![]() | Insta360 Link Controller | Framing and tracking for my webcam | Active |
![]() | Unify Endpoint | Direct VPN into my home LAN | Active |
































