This is my own dotfiles repository.
cd ~/dotfiles
./bootstrap.sh# Interactive mode (recommended for first setup)
./bootstrap.sh
# Non-interactive mode (for CI/automation)
./bootstrap.sh -y
# Dotfiles only (skip tool installation)
./bootstrap.sh --dotfiles-only
# Dry-run mode (preview changes without executing)
./bootstrap.sh -n
# Force mode (backup and overwrite existing files)
./bootstrap.sh -f| Option | Description |
|---|---|
-y, --yes |
Skip confirmation prompts |
-f, --force |
Force overwrite existing files (with backup) |
-n, --dry-run |
Show what would be done without making changes |
--dotfiles-only |
Skip tool installation, only setup dotfiles |
-h, --help |
Show help message |
- Homebrew - Package manager
- Rust - Rust toolchain
- Volta - Node.js version manager
- Claude Code - AI coding assistant
The following symlinks are created in your home directory:
| Source | Target |
|---|---|
home/.Brewfile |
~/.Brewfile |
home/.zshrc |
~/.zshrc |
home/.gitconfig |
~/.gitconfig |
home/.config/git/.gitignore_global |
~/.config/git/.gitignore_global |
home/.claude/settings.json |
~/.claude/settings.json |
home/.claude/CLAUDE.md |
~/.claude/CLAUDE.md |
home/.claude/.mcp.json |
~/.claude/.mcp.json |
home/.claude/skills/* |
~/.claude/skills/* |
scripts/backup.sh |
~/.local/bin/backup.sh |
Additionally, home/.gitconfig.private.example is copied to ~/.gitconfig.private (if it doesn't exist).
# Run all tests
bats scripts/tests/
# Run specific test file
bats scripts/tests/bootstrap.bats
bats scripts/tests/backup.bats