Welcome to my dotfiles repository! This project serves as a central hub for managing, sharing, and maintaining my development environment configurations. From Vim tweaks to terminal optimizations, these configurations aim to enhance productivity and streamline workflows.
-
Alacritty - GPU-accelerated terminal emulator
- JetBrainsMono Nerd Font at 17pt for excellent readability
- Catppuccin Latte theme with 90% opacity and blur effects
- Optimized for macOS with proper Option key handling
-
Tmux - Terminal multiplexer
- Catppuccin Latte theme for visual consistency
- Vim-style navigation with smart pane switching
- Session persistence via tmux-resurrect and tmux-continuum
- Battery status, automatic restore, and yank support
-
- Modular configuration split into logical components (env, config, tools, aliases, secrets)
- Zim framework for fast startup and plugin management
- Auto-suggestions, syntax highlighting, and substring history search
- Comprehensive prompt showing git status, language versions, execution time, and more
- LazyVim-based setup with 30+ carefully selected plugins
- Multiple AI integrations: GitHub Copilot, Supermaven, and Avante
- Extensive LSP support for 15+ languages
- Maintained as a separate repository via git submodule
-
Mise - Polyglot tool version manager
- Manages 17 development tools including Python, Node.js, Rust, Java, and more
- Replaces asdf with better performance and features
-
Modern CLI Replacements
lsd
→ls
(with icons and git integration)bat
→cat
(with syntax highlighting)zoxide
→cd
(smart directory jumping)lazygit
&lazydocker
for TUI git/docker management
- Organized, modular configuration management
- Easy installation with selective module support
- Clean separation between home and config directory targets
- Create bootstrap script to install prerequisites (Homebrew, Stow, Zsh, Zimfw, Mise, Alacritty)
- Add automatic Zim framework installation if not present
- Ensure all CLI tools are available via Mise or package managers
- Add health check script to verify all dependencies
├── .github/
│ ├── ISSUE_TEMPLATE/ # Templates for bug reports and feature requests
│ ├── workflows/ # GitHub Actions for CI/CD automation
├── alacritty/ # Alacritty terminal configuration
│ └── .config/
│ └── alacritty/
│ └── alacritty.toml
├── mise/ # Mise configuration
│ └── mise/
│ └── config.toml/
├── spaceship/ # Spaceship configuration
│ └── spaceship.zsh
├── nvim/ # Neovim-specific submodule
│ └── nvim/ # Neovim configuration files
├── tmux/ # tmux configuration
│ └── .tmux.conf
├── zshrc/ # Zsh configurations
│ ├── .zimrc # Zim framework packages
│ ├── .zsh/ # Modular Zsh configs
│ │ ├── aliases.zsh # Command aliases
│ │ ├── config.zsh # Main Zsh settings
│ │ ├── env.zsh # Environment variables
│ │ ├── tools.zsh # Tool integrations
│ │ └── secrets.zsh # Git-ignored secrets
│ ├── .zshenv
│ └── .zshrc
├── local/ # Local scripts and utilities
│ └── .local/
│ └── bin/ # User scripts
├── .stow-local-ignore # Patterns for files Stow should ignore
├── Brewfile # Homebrew packages list
├── install.sh # Installation script using GNU Stow
├── LICENSE # Licensing information
└── README.md # Project documentation (this file)
- Git: For managing and cloning the repository
- GNU Stow: For managing symlinks to dotfiles
- Zsh: Shell environment with Zim framework
- Alacritty: GPU-accelerated terminal emulator
- Tmux: Terminal multiplexer
- Mise: Tool version manager (will install other tools)
-
Clone this repository:
git clone --recursive https://github.com/lelouvincx/dotfiles.git ~/.dotfiles
-
Navigate to the repository:
cd ~/.dotfiles
-
Install GNU Stow if not already installed:
# macOS brew install stow # Ubuntu/Debian sudo apt install stow # Fedora/RHEL sudo dnf install stow
-
Run the installation script to install all configurations:
./install.sh
Or install specific modules:
./install.sh zsh tmux nvim
zshrc
- Zsh configuration with modular setup (env, config, tools, aliases)tmux
- Tmux configuration with Catppuccin theme and pluginsalacritty
- Alacritty terminal configuration with Catppuccin Latte themenvim
- Neovim configuration (LazyVim-based, maintained as submodule)local
- Scripts and utilities in.local/bin
mise
- Mise tool version manager configurationspaceship
- Spaceship prompt configuration for Zsh
To pull the latest changes and update submodules:
git pull --recurse-submodules
git submodule update --remote --merge
After updating, rerun the installation script:
./install.sh <module>
To uninstall a module, run the uninstall script:
./uninstall.sh <module>
- Secrets Management: The
.zsh/secrets.zsh
file is git-ignored for storing sensitive environment variables (API keys, tokens, etc.) - Tool Selection: Configure your preferred tools via environment variables in
.zsh/env.zsh
:LS_EXECUTABLE
: Choose betweenlsd
orexa
LANGUAGE_EXECUTABLE
: Choose betweenmise
orasdf
- Color Scheme: Unified Catppuccin Latte theme across Alacritty, Tmux, and Neovim for visual consistency
Contributions are welcome! Here's how you can help:
- Fork this repository.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "feat: add your feature"
- Push to the branch:
git push origin feature/your-feature
- Open a pull request.
Please read the CONTRIBUTING.md for detailed guidelines.
- Plugins and integrations from the vibrant open-source community.
- Inspired by LazyVim.
- GNU Stow for excellent dotfiles management.
Found a bug? Want to request a feature? Open an issue in the issue tracker.