TL;DR: Run curl -ssL https://git.io/tomdot | sh on a clean macOS installation.
Disclaimer: Dotfiles are personal things, and as such I would advise against rolling these ones unmodified — they are specific to my dev setup and would likely need to be tweaked to fit yours.
On a fresh macOS system, tomdot will do the following:
- Generate SSH keys and configure GitHub authentication.
- Install Homebrew.
- Install packages, casks, and App Store apps via Brewfile.
- Install Zed Mono Extended fonts.
- Install Rust via rustup.
- Install Node.js 22 via fnm, enable Corepack, install global npm packages.
- Install Claude Code CLI.
- Symlink config files (bat, git, ghostty, zed, starship, zsh) and clone repos.
There is some preparation to be done before performing a clean install of macOS to ensure smooth sailing.
- Backup fonts to iCloud:
cp -r ~/Library/Fonts ~/Library/Mobile\ Documents/com~apple~CloudDocs/Fonts. - Backup any desired app preference files to iCloud.
- Ensure all repos that you want to be cloned from GitHub are included in the
reposarray in~/.dotfiles/git/get_repos.sh. - Ensure local
~/.dotfilesand repos are up-to-date & pushed to GitHub. - Ensure VS Code is signed into and synced.
- Ensure Chrome is signed into and synced.
- Login to iCloud with a browser and ensure all backed-up fonts and preferences have actually been uploaded.
- Update MacOS to the latest version.
- Perform a clean install of macOS. See Apple Support article here for instructions.
- Ensure you are logged into the App Store (
mas signinhas been broken for many years). - Install Xcode + CLT manually to avoid Homebrew errors.
- Run Software update from system settings to ensure CLT is the latest version.
- Run
curl -ssL https://git.io/tomdot | shin the terminal. - Grab a coffee and let tomdot do its thing!
- Enable Desktop & Documents Folders in Apple menu  > System Settings > iCloud > iCloud Drive.
- Install fonts backed-up to iCloud.
- Launch Raycast & setup.
- Install apps unavailable via Homebrew / App Store (e.g. IdeaShare).
- Login to Chrome & enable sync.
- Add SSH public key to Azure DevOps.
- Install Android studio Emulator.
- Restart computer.
The tomdot repo was assembled with many thanks to these smart folks:
Consider GNU Stow or Ansible over manual symlinks.