Personal dotfiles for macOS setup and multi-Mac synchronization.
Two profiles — personal (daily-driver Macs) and mini (lean profile for
🦀 Crabby Guard host Minis).
# One-liner install — auto-detects profile from hostname
curl -fsSL https://raw.githubusercontent.com/dguardia/dotfiles/main/install.sh | bash
# Or pick a profile explicitly:
curl -fsSL https://raw.githubusercontent.com/dguardia/dotfiles/main/install.sh | bash -s -- miniProfile auto-detection: hostnames matching crabby*, lobsty*, *-mini, or *mini
get the mini profile; everything else gets personal.
-
Install Xcode Command Line Tools
xcode-select --install
-
Clone this repo
git clone https://github.com/dguardia/dotfiles.git ~/.dotfiles -
Create symlinks
ln -sf ~/.dotfiles/.gitconfig ~/.gitconfig ln -sf ~/.dotfiles/.zshrc ~/.zshrc
-
Install Homebrew & packages (pick a profile)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew bundle --file=~/.dotfiles/Brewfile # personal # or brew bundle --file=~/.dotfiles/Brewfile.mini # Crabby Guard host
-
Apply macOS defaults
~/.dotfiles/scripts/macos-defaults.sh
| Profile | File | Use case | Notable contents |
|---|---|---|---|
personal |
Brewfile |
Daily-driver Macs (work + personal) | Full dev kit + 2 browsers + Slack/VLC/PhpStorm/Zed/Figma/Postman/Ollama-app |
mini |
Brewfile.mini |
🦀 Crabby / 🦞 Lobsty host Minis | Lean: CLI essentials + Node/PHP + Ollama + VS Code + Chrome only. Crabby Guard's bootstrap layers on Go, Rust, Miniconda, Postgres/MySQL/SQLite/Redis, Bitwarden CLI, Tailscale, OpenCode, OpenClaw, etc. |
| File/Folder | Description |
|---|---|
Brewfile |
Default (personal) Homebrew packages + casks + VS Code extensions |
Brewfile.mini |
Lean profile for Crabby Guard hosts |
.gitconfig |
Git configuration |
.zshrc |
Zsh configuration |
vscode/, cursor/, claude/ |
App settings |
ssh/ |
SSH config template |
scripts/ |
Utility scripts (macos defaults, claude setup) |
# Update Homebrew packages
brew update && brew upgrade && brew cleanup
# Upgrade casks
brew cu --all
# Regenerate the active Brewfile from current state (top-level only)
brew bundle dump --file=~/.dotfiles/Brewfile --describe --force
# Re-run install with a specific profile after editing
bash ~/.dotfiles/install.sh mini
# Check system health
brew doctor- Added two-profile model:
personal(default) andmini. - Refreshed
Brewfileto match current install state on the daily-driver Mac. - Dropped from both profiles: extra browsers (tor/opera/brave/edge), Microsoft + Adobe + consumer apps (Teams/Auto-update/Adobe/Spotify/WhatsApp), R stack (r/r-app/rstudio/gdal/udunits), legacy web tooling (grunt-cli/gatsby-cli/heroku/sass/hugo/dart/flutter).
- Added
Brewfile.minifor Crabby Guard host Minis.
David Guardia
- MS in Web and Information Systems
- Currently pursuing MS in Information Systems (Data Science concentration)
🤖 Managed with Claude Code