Skip to main content

Initial Setup

1. Clone the repository

2. Run the installer

init.sh is interactive by default. It asks before each major step: Use --yes for a full non-interactive install:
During stow setup, init.sh removes conflicting non-symlink files at the destination path. Back up local dotfiles before running it on a machine with existing config.

Updating

This script:
  1. Pulls the latest changes from the remote.
  2. Re-stows installed packages with stow --no-folding -t ~ -R.
  3. Cleans up stale files from previous versions.
  4. Recompiles AeroSpace Swift picker apps when possible.
Packages that are not installed on the current machine are skipped.

How Stow Works

Stow creates symlinks from your home directory into the repo. Each module mirrors $HOME.
Rig uses --no-folding so Stow creates file-level links instead of linking whole directories.

Manual Stow Commands

Ignored Files

.stow-local-ignore prevents these repo files from being linked into $HOME:

Local Overrides

Keep machine-specific settings outside the repo:
  • Zsh: create ~/.zshrc.local; it is sourced at the end of .zshrc.
  • Claude Code: .claude/settings.local.json is ignored by the global Git ignore.