chezmoi
This skill should be used whenever the user mentions "chezmoi" in any way. Manages dotfiles with chezmoi including tracking config files, comparing dotfiles, checking status, working with chezmoi templates, and handling local file changes. CRITICAL SAFETY RULES ENFORCED.
SKILL.md
| Name | chezmoi |
| Description | This skill should be used whenever the user mentions "chezmoi" in any way. Manages dotfiles with chezmoi including tracking config files, comparing dotfiles, checking status, working with chezmoi templates, and handling local file changes. CRITICAL SAFETY RULES ENFORCED. |
Hyprland Dotfiles
A comprehensive dotfiles repository for Hyprland/Wayland desktop environments on Fedora and Arch Linux, managed with chezmoi. Features automated software installation, dynamic theme management with Material You colors, and a fully configured development environment.
⨠Features
- šØ Dynamic Theme System - Material You color generation from wallpapers using matugen
- š Automated Setup - Complete system installation from fresh Fedora install
- āļø Hyprland Desktop - Modern Wayland compositor with optimized keybindings
- š§ Development Ready - Pre-configured Neovim, terminals, and development tools
- š± Modern UI - AGS widgets, waybar, swaync notifications, and more
- š Template System - Dynamic configs with chezmoi templates
š Quick Start
Fresh Installation
# Install chezmoi
sh -c "$(curl -fsLS get.chezmoi.io)"
# Initialize and apply dotfiles
chezmoi init --apply https://github.com/MasonRhodesDev/dotfiles.git
# Run automated software installation
for script in ~/.local/share/chezmoi/software_installers/executable_*.sh; do
[ -x "$script" ] && "$script"
done
# Enable chezmoi daemon for auto-sync
systemctl --user enable chezmoi-daemon.timer
systemctl --user start chezmoi-daemon.timer
Existing Machine
# Pull latest changes
chezmoi update
# Check for differences
chezmoi diff
# Apply changes
chezmoi apply
š Repository Structure
.
āāā chezmoi-daemon/ # Background sync service
āāā dot_config/ # ~/.config applications
ā āāā hypr/ # Hyprland compositor config
ā āāā nvim/ # Neovim configuration
ā āāā waybar/ # Status bar configuration
ā āāā swaync/ # Notification daemon
ā āāā matugen/ # Theme generation templates
ā āāā ...
āāā dot_local/bin/ # Local executables
āāā git_installers/ # Git-based software installers
āāā scripts/ # Utility scripts
ā āāā hyprland-theme-toggle/ # Modular theme system
āāā software_installers/ # Automated installation scripts
āāā docs/ # Detailed documentation
šØ Theme System
The modular theme system generates Material You colors from your wallpaper and applies them across all applications:
# Toggle between light/dark themes
~/scripts/hyprland-theme-toggle/executable_theme-toggle-modular.sh dark
# Restore saved theme
~/scripts/hyprland-theme-toggle/theme-restore.sh
Supported Applications:
- Hyprland (borders, window rules)
- GTK 3/4 applications
- Qt applications
- Waybar status bar
- Wezterm terminal
- Neovim editor
- SwayNC notifications
- Wofi launcher
See docs/THEME-SYSTEM.md for detailed documentation.
š» Key Applications
| Category | Application | Config Location |
|---|---|---|
| Compositor | Hyprland | ~/.config/hypr/ |
| Terminal | Wezterm | ~/.wezterm.lua |
| Editor | Neovim | ~/.config/nvim/ |
| Shell | Bash + Oh My Posh | ~/.bashrc, ~/.bashrc.d/ |
| Status Bar | Waybar | ~/.config/waybar/ |
| Launcher | Wofi | ~/.config/wofi/ |
| Notifications | SwayNC | ~/.config/swaync/ |
| File Manager | Nautilus | GTK-themed |
| System Monitor | Btop | ~/.config/btop/ |
āļø System Requirements
- OS: Fedora Linux (40+) or Arch Linux (current)
- Display: Wayland-compatible graphics
- Memory: 8GB+ recommended for full desktop
- Storage: 10GB+ for all software
Dependencies
- chezmoi (dotfile management)
- Git (version control)
- curl/wget (downloads)
- sudo access (system packages)
- Arch users: yay AUR helper (installed automatically)
š§ Common Tasks
Adding New Files
# Add a config file to chezmoi
chezmoi add ~/.config/newapp/config.conf
# Add a script
chezmoi add ~/scripts/my-script.sh
Managing Templates
# Test template rendering
chezmoi execute-template < ~/.local/share/chezmoi/dot_gitconfig.tmpl
# Edit templates
chezmoi edit ~/.gitconfig
Theme Management
# Change wallpaper and update theme
matugen image path/to/wallpaper.jpg
~/scripts/hyprland-theme-toggle/executable_theme-toggle-modular.sh
# Manual theme application
~/scripts/hyprland-theme-toggle/modules/gtk.sh
Monitoring Changes
# Check chezmoi status
chezmoi status
# See what would be applied
chezmoi diff
# Monitor real-time changes (daemon)
systemctl --user status chezmoi-daemon
š Documentation
š¤ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test on a clean system
- Submit a pull request
ā ļø Important Notes
- Never use
chezmoi apply --force- This can overwrite local changes - Use
chezmoi addto save changes - Don't edit files in.local/share/chezmoidirectly - Test theme changes carefully - Some applications require restart
- Backup important configs - Before major updates
š Troubleshooting
Common Issues
Theme not applying:
# Check matugen installation
command -v matugen
# Verify template output
ls ~/.config/matugen/
# Re-run theme application
~/scripts/hyprland-theme-toggle/executable_theme-toggle-modular.sh
Chezmoi sync issues:
# Force refresh
chezmoi update --force
# Reset to repository state
chezmoi apply --force # Use carefully!
Software installation failures:
# Check logs
ls ~/.software_installer_logs/
# Re-run specific installer
./software_installers/executable_03_hyprland.sh
# Arch users: Update yay and AUR packages
yay -Syu
š License
This repository is open source and available under the MIT License.
š Acknowledgments
- Hyprland - Amazing Wayland compositor
- chezmoi - Excellent dotfile manager
- matugen - Material You color generation
- Oh My Posh - Beautiful shell prompts
Made with ā¤ļø for the Linux desktop experience