A clean, modular macOS dotfiles setup with zsh-based installation scripts.
This dotfiles setup includes configurations for:
- 🔍 fzf - Fuzzy finder with Dracula theme
- 🪟 AeroSpace - Tiling window manager with vi-like keybindings
- 🐱 bat - Better cat with syntax highlighting
- 📁 exa - Better ls with colors and icons
- 🔎 fd - Better find command
- 📝 Git - Enhanced git configuration with delta and useful functions
- 📊 htop - System monitor with custom layout
- 🍺 Homebrew - Enhanced brew wrapper with additional commands
- 🍎 macOS - Comprehensive system defaults and optimizations
- 📊 SketchyBar - Custom status bar with system info
- ⭐ Starship - Cross-shell prompt with git integration
- 🛠 System - Useful utility functions and shell improvements
- 💻 Terminal - Custom Terminal.app profile
./install.shInstall specific components:
./install.sh git fzf starship./install.sh --helpdotfiles/
├── install.sh # Master install script
├── lib/ # Shared utilities
│ ├── utils.sh # Common functions
│ └── brew.sh # Homebrew management
├── configs/ # Configuration files
│ ├── aerospace/
│ ├── bat/
│ ├── git/
│ ├── htop/
│ ├── sketchybar/
│ ├── starship/
│ └── terminal/
├── scripts/ # Utility scripts
│ ├── system/ # System utility functions
│ └── macos/ # macOS-specific scripts
└── modules/ # Individual install modules
├── aerospace.sh
├── bat.sh
├── exa.sh
├── fd.sh
├── fzf.sh
├── git.sh
├── htop.sh
├── macos.sh
├── sketchybar.sh
├── starship.sh
├── system.sh
└── terminal.sh
All install scripts are idempotent - safe to run multiple times without side effects.
Existing configurations are automatically backed up before installation.
Configurations are automatically sourced in zsh (with bash compatibility).
Comprehensive macOS system defaults for better performance and usability.
Alt+semicolon- Service modeAlt+h/j/k/l- Focus windows (vi-style)Alt+Shift+h/j/k/l- Move windowsAlt+1-0- Switch workspacesAlt+Shift+1-0- Move window to workspaceAlt+f- FullscreenAlt+s/v- Split horizontal/vertical
cdr- cd to git repository rootgpr- Push and create pull requestgwf- Switch branch with fzfglog- Pretty git log with graph
e [file/dir]- Open in editormkc <dir>- Create and cd to directorymyip- Show external IPports <command>- Port management utilityloadenv [file]- Load environment from .env file
brew bump- Update and upgrade all packagesbrew cleanup-all- Comprehensive cleanupbrewup- Alias for brew bumpbrewclean- Alias for cleanup-all
- macOS (tested on macOS 14+)
- zsh (default shell on macOS)
- Homebrew (will be installed if missing)
Each module is self-contained and can be customized independently. Configuration files are in the configs/ directory and are symlinked to their proper locations.
To uninstall, remove the symlinked configurations:
# Remove symlinks (they point to files in this repo)
rm ~/.gitconfig.local ~/.git_functions ~/.fzf_config
rm -rf ~/.config/aerospace ~/.config/bat ~/.config/htop
rm -rf ~/.config/sketchybar ~/.config/starship
# Remove shell integrations
# Edit your ~/.zshrc to remove the sourced config files