Macbook Setup 2024 Edition
It's been a while since I've picked up a new laptop. I opted for an M3 Max with 36GB of RAM and a 2TB SSD which feels like a bit of a future proof sweet spot once you're already crossed the rubicon into "omg that's a lot of money for a laptop" territory..
Homebrew
Over the years I've increasingly leaned on Homebrew to make my life easier, to the point where it's one of the tools I miss the most on my Linux desktop which is a crazy thing to say but I just did?! I'm going a step beyond this time and using it to install/manage everything I can including most of the non-opensource Mac .apps I use as casks.
Shell Rustification
I briefly flirted with the notion of changing my custom zsh setup and "throwing in the towel" by moving to oh-my-zsh or zim but I've also thought about switching back to bash as that's what on Linux servers. I tried out oh-my-bash but in the end I've retreated back to an up-to-date zsh from homebrew and starship.rs. Out of the box I can live with it, and it is cross-shell which is kinda rad. Best of both worlds? Maybe. Time will tell.
Terminal Rustification
I'm running zsh and all my command-line tools in Wez Furlong's WezTerm these days. It's fast, reliable (for me so far at least), and once you have a nerd font installed, it "just works" with all the modern fancy fonts and glyphs and shit and did I mention it's crazy fast? Nearly bone stock config:
-- Pull in the wezterm API
local wezterm = require 'wezterm'
-- This table will hold the configuration.
local config = {}
-- In newer versions of wezterm, use the config_builder which will
-- help provide clearer error messages
if wezterm.config_builder then
config = wezterm.config_builder()
end
-- This is where you actually apply your config choices
-- For example, changing the color scheme:
config.color_scheme = 'AdventureTime'
config.font_size = 14.0
-- and finally, return the configuration to wezterm
return config
Editor
Fancy terminal, fancy shell, fancy fonts.. you can see where this is going. NeoVim. I have clearly lost my mind and parked my Vim configuration of 20 years and ended the Visual Studio Code experiment, and am trying something new. It's vim, but with all the knobs turned up to 11. I'm either in love, or.. about to have mental breakdown?
Virtual Machines
I try to not have to run VMs locally because it ends up just being slow and terrible on the Mac.. but sometimes it's the only way.. You'll see in the Homebrew script above I commented out both docker and colima. I really hate Docker. colima makes running the occasional VM less awful than the full blown Docker Experience (tm), but lately I admit I've been using OrbStack and it's nice GUI there's just far less cursing and frustration involve. Has been reliable, too.
Conclusion
My new zen laptop approach is quite simple:
- Manage as much as I can in Homebrew.
- Embrace good tools with sensible default configs that don't need hours of tweaking.
- Know that when docker and its irk ruin the party a complete re-glass of the computer is just a few easy steps away!