My personal dotfiles for macOS, managed with GNU Stow.
- Shell: ZSH with Oh My Zsh + Half-Life theme
- Terminal: Ghostty
- Editor: Neovim with NvChad, VS Code, Cursor
- AI Assistant: Google Gemini
- Multiplexer: tmux
- Package Manager: Bun
- Version Control: Git
- Container Runtime: Docker
dotfiles/
├── git/ # Git configuration and global gitignore
├── zsh/ # ZSH configuration with oh-my-zsh
├── tmux/ # Tmux configuration with TPM
├── nvim/ # NvChad custom configuration
├── ghostty/ # Ghostty terminal config
├── vscode/ # VS Code settings
├── cursor/ # Cursor settings
├── gemini/ # Google Gemini configuration
├── Brewfile # Homebrew packages
└── install.sh # Bootstrap script
git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.shThe install script will:
- Install Homebrew (if not already installed)
- Install packages from Brewfile
- Install Oh My Zsh
- Install ZSH plugins (autosuggestions, syntax highlighting)
- Install NvChad
- Symlink all configs using GNU Stow
If you prefer to install manually:
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install packages
brew bundle
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install ZSH plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Install NvChad
git clone https://github.com/NvChad/starter ~/.config/nvim
# Stow configs (from dotfiles directory)
stow git zsh tmux nvim ghostty vscode cursor gemini- Create a new directory in
dotfiles/(e.g.,myapp/) - Add your config files with their expected paths (e.g.,
.config/myapp/config.yml) - Stow it:
stow myapp
Just edit files in the dotfiles directory - changes are reflected immediately (symlinks!).
stow -D <package-name>- Theme: Half-Life (configured in
.zshrc) - Plugins: git, docker, bun, vscode, tmux, colored-man-pages, command-not-found, zsh-autosuggestions, zsh-syntax-highlighting
- Custom aliases: See
zsh/.zshrc
- Prefix:
Ctrl+a(changed from defaultCtrl+b) - Plugin Manager: TPM
- Plugins: tmux-sensible, tmux-resurrect, tmux-continuum
- Aliases: Extensive shortcuts (see
git/.gitconfig) - Default Branch:
main - Auto-setup: Rebase on pull, credential helper
- Distribution: NvChad
- Custom Config: See
nvim/.config/nvim/lua/custom/
- Settings: Professional editor configuration
- MCP Servers: Context7, GitHub, Ark UI, Chrome (VS Code only)
- Custom Prompts: GitHub Copilot instructions for consistent AI suggestions
- Includes:
- General coding guidelines (
copilot-instructions.md) - Context7 usage instructions (
context7.instructions.md) - DaisyUI component guidelines (
daisyui.instructions.md)
- General coding guidelines (
- Configuration:
~/.gemini - MCP Server: Ark UI integration
- Theme: Shades Of Purple
- Features: IDE integration, interactive shell, extended context
- Auto-suggestions: Fish-like autosuggestions for ZSH
- Syntax Highlighting: Real-time command validation
- Tmux Sessions: Persistent terminal sessions with auto-restore
- Git Aliases: Super fast git workflow (
gst,gco,gp, etc.) - Modern Tools: Bun, Docker, latest Git
MIT License - Feel free to use and modify!