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.
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.
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.
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.
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.