Agent Skill
2/7/2026

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.

M
masonrhodesdev
0GitHub Stars
1Views
npx skills add MasonRhodesDev/dotfiles

SKILL.md

Namechezmoi
DescriptionThis 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

CategoryApplicationConfig Location
CompositorHyprland~/.config/hypr/
TerminalWezterm~/.wezterm.lua
EditorNeovim~/.config/nvim/
ShellBash + Oh My Posh~/.bashrc, ~/.bashrc.d/
Status BarWaybar~/.config/waybar/
LauncherWofi~/.config/wofi/
NotificationsSwayNC~/.config/swaync/
File ManagerNautilusGTK-themed
System MonitorBtop~/.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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test on a clean system
  5. Submit a pull request

āš ļø Important Notes

  • Never use chezmoi apply --force - This can overwrite local changes
  • Use chezmoi add to save changes - Don't edit files in .local/share/chezmoi directly
  • 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


Made with ā¤ļø for the Linux desktop experience

Skills Info
Original Name:chezmoiAuthor:masonrhodesdev