Setup

Three repos turn a blank Mac into my Mac. Formation installs the software, dotfiles apply my preferences, and skills tell AI agents how I want to work.

FORMATION

The install script

Formation is my macOS bootstrap repo. Its slay script checks the machine, links my dotfiles, installs Homebrew, and works through package lists for command-line tools, apps, runtimes, npm packages, and App Store apps.

The repo also keeps my Raycast scripts, terminal themes, app settings, backgrounds, and an optional ~/.hot-sauce file for machine-specific changes. I can rerun slay to install anything new and update what is already there.

This is a personal shell script that changes a lot of things. Read it before running it on your computer.

DOTFILES

The personal settings

Formation expects the dotfiles repo at ~/.dotfiles. It links every *.symlink file into my home directory. The repo covers VS Code, iTerm, SSH, Obsidian sync, repo checks, Bluetooth, AirPods, and my office lights.

Its README points to my Nix repo as the newer direction. Formation still uses these dotfiles, but some newer configuration has moved. The repo is part active config, part archaeological record.

SKILLS

The agent instructions

I clone the skills repo to ~/.agents. Each skill is a Markdown file with instructions for work I ask coding agents to do repeatedly.

unslop
Remove canned AI writing.
ponytail
Prefer the smallest working solution.
technical-writing
Write documentation for tired engineers.
grill
Question a plan until the decisions are clear.
formation-package-install
Add software to Formation and verify the install.

The repo also includes skills for Slidev, troubleshooting, planning with docs, and translating agent-speak into normal language.

NEW MAC

Starting over

First I sign in to the App Store, install 1Password, and add an SSH key to GitLab. Then:

git clone git@gitlab.com:brendan/dotfiles.git ~/.dotfiles
git clone git@gitlab.com:brendan/skills.git ~/.agents
git clone git@gitlab.com:brendan/formation.git
cd formation
./slay 2>&1 | tee ~/slay.log

The 1Password CLI, bundled fonts, and a few app settings still need manual work. I keep those notes in Obsidian.

© 2026 | Brendan O'Leary

The views here are mine alone not my employer's, not anyone else's.