Bootstrapping a Machine
The high-level path for a fresh machine: install packages with Homebrew, then symlink the configs into place with GNU Stow.
1. Install packages with Homebrew
Section titled “1. Install packages with Homebrew”All brew installs live in .config/brew/scripts/, split into category files. The wrapper iterates over every brew_<NN>_<category>.sh script in that directory, so you only run one command.
Make the wrapper executable and run it:
chmod +x .config/brew/scripts/brew.sh./.config/brew/scripts/brew.shbrew.sh is adapted from mathiasbynens’ dotfiles, modularized so each category is its own file.
2. Symlink configs with Stow
Section titled “2. Symlink configs with Stow”After installing GNU Stow (it’s in the brew lists), create the symlinks by running the stow script:
./.config/stow/stow.shStow creates symbolic links from this repo into your home directory, so the tracked files become your live configuration.
3. macOS defaults (optional)
Section titled “3. macOS defaults (optional)”The .macos file applies macOS system preferences. It’s based on mathiasbynens’ .macos, adjusted to my needs. Review it before running — it changes a lot of system settings.
Shell notes
Section titled “Shell notes”.profile is a generic shell config applied across bash and zsh sessions. To check your current shell:
echo $SHELLTo change your default shell (e.g. to zsh):
chsh -s /bin/zshNext steps
Section titled “Next steps”- Set up commit signing and other tooling — see Setup.
- Regenerate or browse the editor config under Emacs.