My MacOS Setup in 2025
A brief overview of most of the apps I have installed & find useful on my MacBook and the configurations I’ve made to make them fit my use cases.
These apps shouldn’t need to exist
Starting off with apps that provide functionality Apple should have built into MacOS but… didn’t… (noice… thanks tim apple!).
App | Description |
---|---|
UnnaturalScrollWheels | Helps to revert the scrolling direction of external mice to what you’d expect, while keeping the trackpad’s default inverted scroll unchanged |
BetterDisplay | This app provides lots of options to control your displays and tweak their settings. I use it to disable GPU Dithering to prevent banding/flickering on my external BenQ monitor. |
Bluesnooze | Ever had your bluetooth device connect to your sleeping mac instead of your phone? This tiny service turns off bluetooth when your lappy is eepin |
Basic utility apps
Next up, we have apps that help to provide extra utility and are sort of a must have for anyone who does anything more than just watching youtube on their mac.
App | Description |
---|---|
HomeBrew | Simple package manager to install apps! Lots of people hate it for security reasons, but the alternatives are compiling mosts apps from source or/and learning Nix… Maybe when I understand operating systems and linking more… There is this guide which goes over hardening a brew install |
Raycast | A way better Spotlight search. I use it mostly for the clipboard history. Might move to the OSS alternative Alfred in the future |
Pearcleaner | Great no-nonsense app to help manage storage and delete orphaned app files |
Work flow apps/dev stuff
This section covers the apps I use almost daily as part of my workflow
App | Description |
---|---|
Obsidian | File over App. A highly extensible markdown editor. I use it for note taking, as a CMS for this blog, as a planner, as a PKM. I just use the basics, but people get really crazy with their configurations. Cool app. |
Ghostty/WezTerm | Just anything but the default MacOS terminal emulator. I mainly use Ghostty for it's simplicity and the doom-style dropdown terminal. WezTerm is cool for its copy mode. |
Intellij IDEA & Zed | I keep these for when I need a GUI for breakpoint debugging. Maybe i'll move my whole workflow to vs-code-neovim... |
Tailscale | Simple and secure automatic WireGuard VPN for all my devices, servers, containers... with DNS & more! |
Tmux | Basic terminal multiplexer. Zellij seems much better but I don't use it due to keymapping conflicts i'm too lazy to fix. I mostly just use tmux as a process manager anyways lol. |
OrbStack | Just a better alternative to Docker Desktop. Still uses the same docker engine! Making it a simple plug and play - drop in replacement! |
DBeaver | Nice SQL DB Management System |
Neovim w/ Lazy | Simple "Soy-vim" setup with minimal changes. A really nice Batteries Included Neovim experience. |
Neovide | A nice GUI for Neovim. I use it so i can set my default app for opening text files to a neovim editor! |
NetNewsWire | Really nice RSS reader |
Syncthing | P2P file syncing! It does delta file transfers and I use to back up my files like my obsidian vaults! |
ncspot | TUI Spotify client. Nice and light, doesn't support offline playback. It uses (sidenote: As of writing, ncspot v1.3.0 uses a version of Librespot that Spotify broke, but can be fixed with a simple DNS bypass noted in this issue) as its backend |
PowerToysā¢
Though these apps are a core part of my workflow, I’ve placed them in their own section as they fundamentally change how I interact with my mac.
These apps together bring the linux i3/Hyperland like experience into MacOS!
MacOS ricing really is a productivity blackhole… but it’s really fun !
App | Description |
---|---|
Kanata | Highly customisable keyboard remapper bringing QMK features to any keyboard. It’s also cross platform so you only need one config. I use this to add homerow mods and key chords to my macbook’s keyboard. |
AeroSpace | i3 like tiling window manager! |
SketchyBar | A highly extensible custom bar for MacOS! ‘Replaces’ the default menu bar at the top of your screen. |
JankyBorders | Simple service that puts borders around your windows so you know which window is in focus :p |
Tying them all together
AeroSpace & SketchyBar
Starting off with how I use AeroSpace and SketchyBar, there’s this video that goes into just that! It’s also what got me into using these tools in the first place! I’ve gone just a little further and fleshed out a more functional integration of AeroSpace and SketchyBar: a minimal config here, or my full dot files here.
Kanata
To make switching workspaces using the alt-{workspace id} keybind easier and generally make my laptop keyboard more ergonomic.
I’ve added homerow mods to make my (a s d f) & (; l k j) keys on my keyboard map to (shift ctrl opt cmd) respectively when held down. This then frees the cmd, opt, ctrl and shift keys to serve other functions!
Currently, I have cmd mapped to switch (h j k l ) to (ā ā ā ā), making navigation easier as I never have to leave the home row!
I also have key chords, where 2 or more keys pressed together will act as a different key! (w e) to (Esc), (j k) to (Return), (o p) to (ctrl + backspace)
Obsidian + SketchyBar
I have a vault specifically for planning my day and tracking ToDos. This is all done using the Obsidian Day Planner plugin, which I forked to allow me to integrate it with SketchyBar so I can view my upcoming/current task!
ncspot + SketchyBar
Using the ncspot socket we’re able to hook up ncspot to SketchyBar !!!