A comprehensive, cross-platform dotfiles configuration for macOS, Windows, and Linux environments. This configuration emphasizes modern tooling, consistent theming, and AI-assisted developer productivity.
This dotfiles setup includes integrated AI assistance for enhanced development workflows:
-
π§ Neovim AI Assistant: Built-in CodeCompanion plugin supporting multiple AI providers:
- Anthropic Claude (default): Industry-leading code generation and analysis
-
π AI-Generated Git Commits: LazyGit integration with Claude Code:
- Press
Cin LazyGit to auto-generate contextual commit messages - Analyzes staged changes to create meaningful commit descriptions
- Generates both summary line and detailed commit body
- Streamlines git workflow with intelligent commit message suggestions
- Press
π See CLAUDE.md for detailed Claude Code integration setup
- Cross-Platform Support: Works on macOS, Windows (WSL2), and Linux
- Modern CLI Tools: Replaces traditional tools with faster, feature-rich alternatives
- Consistent Theming: Catppuccin Mocha theme across all applications
- Modern Editor: Neovim configuration with Lazy.nvim and AI integration
- Git Workflow: Enhanced git experience with delta diffs and lazygit UI
- Shell Enhancement: Zsh with modern completions and smart directory navigation
- OS: macOS 10.15+, Ubuntu 20.04+, Arch Linux, or Windows 10+ with WSL2
- Git: For cloning the repository
- Stow: Installed automatically if missing
- macOS: Xcode Command Line Tools (
xcode-select --install) - Linux: Build essentials (
build-essentialon Ubuntu,base-develon Arch)
-
Clone the repository:
git clone https://github.com/barrydobson/dotfiles-public.git ~/dotfiles cd ~/dotfiles
-
Install system-specific tools:
# macOS ./install/macos.sh # Ubuntu/Debian Linux ./install/ubuntu.sh # Arch Linux ./install/arch-linux.sh
-
Deploy dotfiles:
make stow
-
Verify installation:
make check
| Traditional | Modern Alternative | Purpose |
|---|---|---|
ls |
eza |
Directory listing with icons |
cat |
bat |
Syntax highlighting and paging |
find |
fd |
Fast file finder |
grep |
ripgrep |
Fast text search |
cd |
zoxide |
Smart directory navigation |
git diff |
delta |
Enhanced git diffs |
top/htop |
Built-in | Process monitoring |
- Plugin Manager: Zinit for fast plugin loading
- Prompt: Powerlevel10k with custom configuration
- Completions: Modern tab completion system
- Aliases: Shortcuts for modern CLI tools
Configurations provided for:
- Alacritty: GPU-accelerated terminal
- Ghostty: Fast, feature-rich terminal
All terminals use:
- Font: JetBrainsMono Nerd Font (consistent across platforms)
- Theme: Catppuccin Mocha
- Key bindings: Standardized shortcuts
Modern Neovim configuration with Lazy.nvim plugin management.
Features:
- AI-Powered Development: CodeCompanion integration with multiple AI providers
- LSP integration: Full language server support for multiple languages
- Fuzzy finding: Telescope with extensive search capabilities
- Git integration: Gitsigns, conflict resolution, and Lazygit integration
- Modern UI: Consistent theming with Catppuccin Mocha
- Advanced Code Intelligence: Treesitter, autocompletion, and code folding
- Session Management: Use
:mksessionto create initial session files for mini.sessions
- Modular Config: Separate files for personal/work contexts
- Enhanced Diffs: Delta for syntax-highlighted diffs
- Extensive Aliases: GitAlias.com collection (1,749 aliases)
- Conditional Includes: Context-aware configuration
# Management
make stow # Deploy dotfiles
make unstow # Remove dotfiles
make restow # Redeploy dotfiles
make backup # Create timestamped backup
make restore # Restore from latest backup
# Development
make lint # Run shellcheck on scripts
make test # Run tests (when implemented)- Use
lazygitfor terminal-based git UI - Delta provides enhanced diff viewing
- Extensive alias collection for common operations
- Context-aware configuration for work vs personal
z <partial-path>- Smart directory jumpingll,la- Enhanced directory listingsbathelp <command>- Colorized help pagesfzfintegration for command history and file search
- π Complete Keybinding Reference - Comprehensive guide to all keybindings
- Neovim: 50+ AI-enhanced keybindings for development workflow
- Shell: Modern CLI shortcuts and productivity commands
- Git: Efficient version control with extensive alias collection
- GUI applications installed to
~/Applications - Homebrew manages all CLI tools and fonts
- System package managers used for base tools
- Manual installation of newer tools from GitHub releases
- Font installation to
~/.local/share/fonts
- Works via WSL2 with Ubuntu configuration
- Windows Terminal configuration can be added
- Add installation commands to appropriate install script
- Create configuration file in
src/ - Update README with tool information
All applications use Catppuccin Mocha. To change:
- Update theme references in configs
- Rebuild bat cache:
bat cache --build
- Git: Use
.gitconfig-localfor machine-specific settings - Environment: Use
.envfor local environment variables - Shell: Add local customizations to
.zshrc.local
Stow conflicts:
make unstow # Remove existing links
make clean # Clean up broken links
make stow # RedeployFont not displaying:
- Ensure Nerd Fonts are installed
- Rebuild font cache:
fc-cache -f(Linux) - Restart terminal application
Shell completions missing:
- Reload shell:
exec zsh - Check plugin installation in
~/.zinit
This is a personal dotfiles repository, but suggestions and improvements are welcome:
- Fork the repository
- Create a feature branch
- Test changes across platforms
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Catppuccin for the beautiful color scheme
- GitAlias.com for comprehensive git aliases
- Zinit for fast zsh plugin management
- Clank for claude code integration inspiration
- The open source community for modern CLI tool alternatives