Making macOS usable
I genuinely think that macOS is a bad operating system out of the box, and it doesn’t include almost any of the quality of life features provided by most Linux desktop environments (GNOME my beloved) or even Windows. What it does have is a really excellent ecosystem of free app developers that make tools that are really polished and make using a Mac a real pleasure. This post was mostly adapted from a Gist I published on June 1st of this year when I needed to document how I was setting up my work Macbook.
Homebrew
Homebrew is an immediate install for any macOS device I use. It makes package management and installing open-source applications and utilities miles easier.
Rectangle
macOS didn’t have window snapping for years, and it finally got it in Sequoia - but it’s not fast or customizable at all. I installed Rectangle which is a solid utility that has great keyboard shortcut customization. There’s also no native way to switch between all currently open windows, so AltTab was a necessity.
DockDoor
DockDoor provides a configurable alt-tab window switcher similar to Windows and GNOME, as well as window previews when you hover on app icons in the dock. This one isn’t for everyone, and most of the time I don’t use the dock anyway, but it’s something that’s nice to have.
Launcher
Spotlight is better than it used to be but it’s still not useful or customizable enough (come on Apple, we need a half-decent clipboard manager). I use Vicinae on my personal machine, so Raycast was the immediate alternative for macOS. It can even fully replace Spotlight. I also use several Raycast extensions and configurations that make a lot of things faster:
- Alias the clipboard manager to
cl - Alias Google searches to
g - Install the Browser Tabs extension to search and navigate tabs across browsers (alias to
tab) - Install the Bitwarden extension to quickly access 2FA codes and passwords (alias to
2fandpwrespectively) - Install the Kill Process extension to kill unresponsive processes
Notch Fixer
The Macbook I have has the ridiculous camera notch that I feel is fully useless and random. The only benefit is that you can utilize the notch with tools like Atoll which adds media controls, a file tray, and calendar to the notch space accessible by hovering inside it. Makes it a lot more useful.
Filesystem Mounting
The list of supported filesystems for removable devices on macOS is terribly short. Zero support for Linux filesystems as well as read-only support for NTFS makes working across devices very difficult. Thankfully the anylinuxfs project has fixed this using tiny Linux VM’s to allow mounting any Linux-supported filesystem (which is pretty much any filesystem you can think of). There’s also a convenient GUI for it, anylinuxfs-gui.
Text Editor
TextEdit is ugly and not a good default for editing plain text files (why on earth would autocorrect be turned on by default in a text editor???), but CotEditor is great. I was also able to set it as the default text editor by running brew install duti and then duti -s com.coteditor.CotEditor public.plain-text all.
File Manager
Finder is genuinely one of the least-user friendly pieces of software I’ve ever used. Especially since Liquid Glass was forced into macOS, the interface is terrible, there’s no way to display an editable path bar, sorting and organizing files is a mess, and I generally want to bang my head against a keyboard every time I use it. A few alternatives exist, but Bloom is the best one I’ve found. It has a very nice multi-pane design, native UI, and even though it’s a paid app, it’s pretty affordable and a worthy cost to have a half-decent file manager on the computer I’m going to use for 40 hours a week.
Web Browser
Safari was immediately removed from my dock. Though its UI has improved as of late, the engine lags even behind Firefox and as a developer that’s not an option. I’ve been switching back and forth between two browsers. Helium is optimistically my favorite browser, with its focus on minimalism and privacy, as well as support for a super-minimal compact mode and sidebar tabs. Right now it’s very experimental and barebones, so I also tend to switch back and forth between it and Zen. Zen is an excellent replacement for the now unmaintained Arc if you’re looking for a browser that doesn’t have AI slop shoved into every corner. Zen’s downside is that it uses Firefox’s Gecko engine, which isn’t quite as snappy as Blink (which Chromium-based browsers use). If you’re used to Chromium’s devtools, you might also miss out on those.
Terminal
Terminal emulators are terminal emulators - they’re pretty much all the same. But I’m very used to Ghostty these days, which is very configurable and has hardware-accelerated rendering. It can be set as the default terminal too. Ghostty also has a quake-style quick terminal feature that can be configured in the standard config file. Mine looks like this:
keybind = global:cmd+grave_accent=toggle_quick_terminal
quick-terminal-position = left
quick-terminal-animation-duration = 0.15
quick-terminal-size = 35%
Then as long as Ghostty is running, you can do ⌘ + ` to open a little terminal window to the side that overlaps on top of any open windows.
Settings Tweaks
99% of the time I don’t use the dock, so I keep it on autohide and shrink it way down. I don’t need to see a bunch of crap in my menubar either, so I turn off pretty much everything in the Menu Bar settings, and trim down the clock settings too so it only tells the time and not the date or day of the week. In appearance, dark theme on and Liquid Glass set to Tinted rather than Clear, which helps with visiblity. Siri and Apple Intelligence are turned off. Widgets on the desktop are turned off. Natural scrolling is also turned off.