Chance Griffin

Menu

All posts / Setting up a new Mac

Setting up a new Mac

Published July 28, 2025

For several years now I’ve been working from two machines: a first generation M1 Mac Mini on the desktop, and a late 2019 Intel Macbook Pro on the go. I didn’t feel the shortfalls in performance of the laptop until I starting working AI into my workflow more and more, and all this talk about Omarchy had me thinking it’s time for an upgrade. The Framework 16 and Omarchy are extremely compelling, but I anticipate a steep learning curve switching to Arch that I can’t afford to take on with my primary machine. So I got the 15” M4 Macbook Air, and plan to revive the Intel MBP with Omarchy.

For my future self, and any interested parties, here’s everything I configured and installed on the new machine to get it up and running for Rails development in 2025:

Make Caps Lock Control

This is always the first thing I do with a new machine. Caps Lock should not exist.

Use scroll gesture with modifier key to zoom

I use Ctrl + Scroll to zoom on specific areas of the display. Helpful for analyzing design details, and looking at small stuff.

Install Ghostty

The best terminal app.

Install dev tools

These are the Mac devtools. Try to run git and it will give you the command… xcode-select install yadda yadda…

Install Zen browser

Still searching for the perfect browser. I’ve been enjoying Zen, since Arc was abandoned. The major features that I’ve come to look for in a browser are tabs on the side (with CMD+Tab to minimize/maximize), tab split view, true spaces, custom default search engine, and Being Fast.

Kagi is expensive, but really nice for search… I’m not smart enough to know why or how, but I just consistently find what I’m looking for right away. A thing of the past with Google. But, the maps in Kagi suck. I have :g set up as a leader for Google search in a new tab in Zen. So if I’m looking for a place it goes “Cmd+T :g %place%”.

Install 1Password and extension

Self explanatory. Need passwords.

Install Raycast

I’m new to Raycast after over a decade with Alfred. It rules.

Change CMD+space to not open spotlight, and open Raycast instead

I don’t remember what the default Raycast key is, but I need it to be Cmd+Space. No need for Spotlight anymore.

Window management hotkeys

I don’t use these as much anymore, as I try to use full screen apps to keep me focused, but I have some basic ones like Ctrl+Option+Cmd </^/> to move windows left, full, and right, respectively. I use Raycast to set these up.

Authenticate with GitHub

This is the Github CLI (installed with dev tools). Need to authenticate so we can push/pull private repos.

Install Amphetamine

I do not want the screen to go off ever, unless I shut the laptop. I use this on desktop as well. No sleep, no screensaver. Just monitor on or off. The Macbook Air battery life makes this even more tenable.

Install mise

I’m new to mise, coming from a decade of rbenv and nvm. It was sold to me as an all in one tool to manage different versions of “anything”. So far so good.

Install homebrew

Haters will say homebrew is for noobs. Never really understood why… it’s just easier.

brew install openssl@3 readline libyaml gmp rust autoconf

Need this junk for Ruby. See how easy that was?

Install bun with mise, make it globally available

I’m also new to bun, coming from over a decade with yarn. Made the switch becasue it’s way faster, and considered to be part of a more modern toolset. So far so good.

Install ruby, node, make them globally available

Also using mise to install these and make them globally available across projects. I also needed to install specific versions for specific repos, which mise handles really nicely.

Install Rails

Feels good.

Update RubyGems

Gotta have the latest gems.

Generate SSH key

Need to do this for many reasons, but mainly for pulling private Githib repos, and deploying with Kamal.

Install Postgresql via homebrew

Up until now I’ve always used Postgres.app. Trying this on for size. So far so good.

Install redis

Need this for most of the Rails apps I work on. Their website is weirdly good.

Install ngrok

Need this for the primary Rails app that I work on.

Add ngrok config

I use a global ngrok config so that it doesn’t have to live inside of a repo, and I only really use it for one project.

Install OCR-A

Is this the best programming font? No. But I like it. If you recognize it… GOOD.

Install Starship

Really nice - optionality and configuration is refreshing coming from OhMyZSH. Always hated the name of that one anyways.

Nerd Fonts for Starship

Some starship configurations (maybe the defaults) rely on Nerdfonts, so we need to install them.

Ghostty config

Mine’s very simple… kind of the point. Probably need to do some work on this.

brew install zsh-autosuggestions

So we get autocomplete in the command line.

Install neovim

For writing and editing code.

Install zellij

For tab/window/pane/session management in the terminal.

Install Claude Code

For the code I don’t feel like writing.

Install Kamal

For deploying apps and websites to web servers.

Install Docker and docker-buildx

For Kamal deploys, using homebrew to install.

Install Heroku command line interface

For deploying apps that I built before Kamal was released.

Bring in dotfiles

For configuring tooling like Ghostty, mise, Neovim, Zellij, and Starship, and more.

Install Dropbox

Self explanatory - syncing files across different machines.

Install Obsidian

I’ve been using Obsidian on and off for a few years now, and have finally decided to commit. It’s really nice… Everthing in Markdown. I wish the sync didn’t rely on iCloud.