macOS dotfiles with complete environment automation and multi-shell support
For complete automation on a new Mac:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Coordinate-Cat/dotfiles/master/bootstrap.sh)"This single command installs and configures:
- Xcode Command Line Tools
- Homebrew with 30+ packages
- Rust toolchain with 8 CLI tools
- VS Code with 117 extensions
- SSH keys and Git configuration
- macOS system preferences
- App Store applications
- Multi-shell environment (6 shells)
Preview installation without changes:
# Clone first to test safely
git clone https://github.com/Coordinate-Cat/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Dry run (shows what would be installed)
npm run test:dry-run
# Test with backup/rollback capability
./scripts/test-bootstrap.sh --testMinimal dotfiles-only setup:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Coordinate-Cat/dotfiles/master/install.sh)"
cd ~/dotfiles && npm run setup- Zero-configuration setup for new macOS systems
- Automatic package management across multiple systems
- SSH key generation and GitHub integration
- macOS system preference configuration
- Backup and rollback capabilities for safe testing
Primary shell with comprehensive configuration:
- Zsh (primary) - ZSH-MODE with Zinit plugin manager, modular configuration, and unified alias system
- Unified alias definitions in
alias.zshfor consistent experience - Starship prompt with shell mode indicators and Gruvbox theming
Expandable architecture supports additional shells with color-coded indicators.
- Homebrew: 30+ formulas and casks (development tools, applications)
- Cargo: 8 Rust CLI tools (nu, ripgrep, exa, starship, etc.)
- npm: Node.js development packages
- VS Code: 117 extensions (themes, linters, formatters, productivity)
- App Store: Essential applications (Xcode, utilities)
- Visual Theme: Gruvbox dark across all applications
- Terminal: iTerm2 with Starship prompt
- Editors: Vim, VS Code with consistent theming
- Window Management: yabai tiling manager + Rectangle
- Typography: Hack Nerd Font with icon support
npm run bootstrap-full # Complete automated installation
npm run setup # Install packages only
npm run install:bundle # Install from package manifestsnpm run test:dry-run # Preview installation safely
npm run test:bootstrap # Test with backup capability
npm run doctor # Comprehensive health check
npm run doctor:fix # Auto-fix detected issuesnpm run update # Update all packages
npm run clean # Clean temporary files and caches
npm run backup # Create configuration backup
npm run health # Check system healthnpm run status # Git status and health overview
npm run symlinks # Show dotfiles symlinks
npm run docs # View documentation~/dotfiles/
├── .shell/ # Shell configurations
│ ├── .zsh/ # Modular Zsh configs (6 files)
│ └── validate.sh # Shell validation script
├── .config/ # Application configurations
│ ├── starship/ # Shell prompt with mode indicators
│ ├── iterm2/ # Terminal settings
│ ├── vscode/ # Editor configuration
│ └── superfile/ # File manager (ayu-dark theme)
├── .aliases/ # Shell-specific aliases (organized by category)
│ └── zsh/ # Zsh alias files (by category)
├── .bundle/ # Package management manifests
│ ├── Brewfile # Homebrew packages and casks
│ ├── Cargofile # Rust CLI tools
│ ├── Vscfile # VS Code extensions (117)
│ └── install.sh # Bundle installation script
├── scripts/ # Scripts and automation
│ ├── bootstrap.sh # Complete automation script
│ ├── test-bootstrap.sh # Safe testing with backup/rollback
│ ├── doctor.sh # Health check and diagnostics
│ └── install.sh # Basic dotfiles installation
├── docs/ # Documentation
│ ├── CLAUDE.md # Claude Code instructions
│ ├── usage.md # Comprehensive documentation
│ ├── CODE_OF_CONDUCT.md
│ └── LICENSE
├── .zshrc # Main Zsh configuration
├── alias.zsh # Unified alias definitions
├── .vimrc # Vim configuration
├── .zshenv # Environment variables
└── package.json # npm scripts (25+ commands)
- README.md - Quick start and overview (this file)
- docs/usage.md - Complete usage guide and reference
- docs/CLAUDE.md - Claude Code integration settings
- docs/CODE_OF_CONDUCT.md - Community guidelines
- docs/LICENSE - WTFPL license
Access documentation:
npm run docs # Open docs/usage.md- macOS: 10.15 (Catalina) or later
- Network: Internet connection for downloads
- Account: GitHub account (for SSH key setup)
- Privileges: Administrator access (for system preferences)
This repository includes comprehensive testing capabilities:
- Dry run mode: Preview all changes before execution
- Automatic backup: System state preservation during testing
- Complete rollback: Restore to pre-installation state
- Health monitoring: Continuous system validation
WTFPL (DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE) - see LICENSE file for details