My personal development environment configuration files for macOS. This setup uses GNU Stow for symlink management and provides configurations for terminal, editor, and development tools.
- Zsh with Oh My Zsh framework
- Ghostty terminal emulator with dark pastel theme
- tmux with plugin manager and minimal status bar
- Zoxide for smart directory navigation
- Neovim with LazyVim distribution
- Language Support: TypeScript, Python, Go, Docker, JSON, Markdown, Tailwind CSS, TOML
- AI Assistance: Supermaven integration
- Colorscheme: Carbonfox (Nightfox variant)
- Node.js: NVM for version management, pnpm as package manager
- Git: Custom aliases and integrations
- Lazygit: Terminal-based Git UI
- Testing: Neotest for Go and Python
dotfiles/
├── ghostty/ # Ghostty terminal configuration
├── nvim/ # Neovim configuration (LazyVim)
├── tmux/ # tmux configuration with plugins
├── zshrc/ # Zsh shell configuration
└── .stow-local-ignore # Stow ignore patterns
-
Install Homebrew (macOS package manager):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Install required tools:
brew install stow zsh tmux neovim ghostty lazygit zoxide
-
Install Oh My Zsh:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -
Install tmux Plugin Manager:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
-
Clone this repository:
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles cd ~/dotfiles
-
Stow configurations (creates symlinks):
stow ghostty nvim tmux zshrc
-
Install tmux plugins (after starting tmux):
# In tmux, press: Ctrl+b + I -
Install Neovim plugins:
nvim # LazyVim will auto-install plugins on first run
- Aliases:
v/vim→nvimgap→git add -pgs→git statuslg→lazygitcd→z(zoxide)
- Project shortcuts for quick navigation
- Development commands for pnpm workflows
- LazyVim Extras:
- Language servers for TypeScript, Python, Go, Docker
- Formatters: Biome, Prettier
- Linting: ESLint
- AI coding assistance with Supermaven
- Testing framework integration
- Mini.files for file exploration
- Mouse support enabled
- Custom keybindings:
Ctrl+b + rto reload config - Status bar toggle:
Ctrl+b + b - Minimal status theme
- Create a new directory in the dotfiles root
- Add your config files maintaining the target directory structure
- Run
stow <directory-name>to create symlinks
Update the directory aliases in .zshrc for your own projects:
alias myproject="cd ~/repos/myproject"- This setup is optimized for macOS development
- Requires Homebrew for package management
- Uses Stow for clean symlink management
- LazyVim provides a modern Neovim experience out of the box
- All configurations are version controlled for easy backup/restore
To update configurations:
- Make changes to files in the dotfiles directory
- Changes automatically reflect in the target locations (via symlinks)
- Commit and push changes to maintain version control