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.

# Assume Homebrew already install from link above

# utlities
brew install --cask shottr
brew install --cask rectangle
brew install --cask tunnelblick
brew install --cask appcleaner
brew install --cask font-hack-nerd-font
brew install --cask font-monaspace
brew install --cask itsycal

# 3rd party apps
brew install --cask slack
brew install --cask whatsapp
brew install --cask spotify
brew install --cask google-chrome

# dev stuff
brew install --cask visual-studio-code
#brew install --cask docker
brew install colima
brew install --cask utm
brew install --cask restfox

# shell tools
brew install git
brew install btop
brew install node
brew install go
brew install gcc

# AI junk
brew install ollama
brew install pytorch
brew install pyenv

# shell upgrades
brew install wezterm
brew install zsh
brew install starship
brew install neovim
brew install tree-sitter

for me.. a giant copy-n-paste and I'm almost up and running just with brew!

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.

0:00
/0:37

starship.rs demo

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?

screenshot of fancy pants neovim

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.

OrbStack running a Compose project with domain names, image files open in Finder, and an Arch Linux machine

Conclusion

My new zen laptop approach is quite simple:

  1. Manage as much as I can in Homebrew.
  2. Embrace good tools with sensible default configs that don't need hours of tweaking.
  3. Know that when docker and its irk ruin the party a complete re-glass of the computer is just a few easy steps away!

Subscribe to the vmunix blues

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe