What Gets Configured
The setup process handles:- Config Repository: Clones your dotfiles to
~/.config - Dotfile Symlinking: Links configuration files to your home directory
- Xcode Command Line Tools: Installs developer tools required by Homebrew
- Touch ID for sudo: Enables biometric authentication for sudo commands
- Homebrew: Installs the package manager for macOS
- Homebrew Bundle: Installs all packages, casks, and Mac App Store apps
Running the Setup
The setup script can be run with a single command:The script is idempotent - you can run it multiple times safely. It checks for existing installations and skips steps that are already complete.
Setup Flow
Touch ID Configuration
Enables Touch ID for sudo authentication using
/etc/pam.d/sudo_local.See Touch ID for sudo for details.Homebrew Installation
Installs Homebrew if not already present.See Homebrew Setup for details.
Homebrew Bundle
Installs all packages, casks, and Mac App Store apps from the Brewfile.See Homebrew Bundle for the complete list.
Logging
The script uses structured logging with timestamps and log levels:INFO- Normal operation messagesWARN- Non-fatal issuesERROR- Fatal errors that stop execution
The script uses
set -eu to fail fast on errors and undefined variables, ensuring setup problems are caught early.Error Handling
The script includes helper functions for error handling:die(), while non-critical failures (like Touch ID configuration issues) use warn() and continue.