dot_config/opencode/skill/hyprland/SKILL.md
Comprehensive Hyprland Wayland compositor configuration skill. Use when users need help with: (1) Creating or modifying Hyprland config files, (2) Setting up keybindings, window rules, monitors, or animations, (3) Troubleshooting Hyprland configuration issues, (4) Searching for valid config variables and values, (5) Understanding Hyprland syntax and structure, (6) Setting up multi-monitor configurations, (7) Configuring input devices, decorations, or layouts, or (8) Any other Hyprland-related configuration tasks.
npx skillsauth add cmac4603/dotfiiles hyprlandInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides comprehensive support for configuring Hyprland, a dynamic tiling Wayland compositor.
When helping with Hyprland configuration:
references/config_reference.md for syntax and variables, references/examples.md for practical patternsscripts/search_hyprland_docs.py to find specific config variables or featuresUse the search script to find configuration variables, keybindings, and documentation:
# Search for any config variable or feature
python3 scripts/search_hyprland_docs.py "gaps_in"
python3 scripts/search_hyprland_docs.py "border_size"
python3 scripts/search_hyprland_docs.py "animation"
# List all documentation sections
python3 scripts/search_hyprland_docs.py --list
The script searches across:
How it works: The search script uses local markdown documentation files stored in references/docs/ that were downloaded from the official Hyprland wiki using the jina.ai markdown converter (https://r.jina.ai/$URL). This provides:
The skill includes complete local copies of official Hyprland documentation:
| Section | File | Source |
|---------|------|--------|
| Variables | references/docs/variables.md | wiki.hypr.land/Configuring/Variables/ |
| Keywords | references/docs/keywords.md | wiki.hypr.land/Configuring/Keywords/ |
| Binds | references/docs/binds.md | wiki.hypr.land/Configuring/Binds/ |
| Animations | references/docs/animations.md | wiki.hypr.land/Configuring/Animations/ |
| Dispatchers | references/docs/dispatchers.md | wiki.hypr.land/Configuring/Dispatchers/ |
| Window Rules | references/docs/window-rules.md | wiki.hypr.land/Configuring/Window-Rules/ |
| Monitors | references/docs/monitors.md | wiki.hypr.land/Configuring/Monitors/ |
Updating documentation: To refresh the local docs with the latest from the wiki:
cd references/docs
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Variables/" -o variables.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Keywords/" -o keywords.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Binds/" -o binds.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Animations/" -o animations.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Dispatchers/" -o dispatchers.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Window-Rules/" -o window-rules.md
curl -s "https://r.jina.ai/https://wiki.hypr.land/Configuring/Monitors/" -o monitors.md
Determine what the user needs:
Ask clarifying questions when needed:
Always load the appropriate reference files:
# For syntax and all config variables
view references/config_reference.md
# For practical examples and patterns
view references/examples.md
When to load each:
config_reference.md: For understanding syntax, all available variables, and their optionsexamples.md: For complete working configurations and common patternsIf the references don't contain the needed information, or if you need the latest documentation:
python3 scripts/search_hyprland_docs.py "<query>"
Search for:
Follow these principles:
Config file location: ~/.config/hypr/hyprland.conf
Structure:
# Comments start with #
# Sections use curly braces
general {
variable = value
}
# Keywords at root level
monitor = DP-1, 1920x1080@60, 0x0, 1
bind = SUPER, Return, exec, kitty
Best practices:
$mainMod = SUPERsource to split large configs into fileshyprctl reload or restart Hyprlandreferences/examples.md and find the "Complete Minimal Configuration"references/config_reference.md for bind syntax$mainMod variable for consistencybind - Normal bindbindm - Mouse bindbinde - Repeating bindbindr - Release bindbindl - Locked bind (works when locked)references/config_reference.md for windowrule syntaxwindowrulev2 for modern syntaxhyprctl clients (lists window classes)references/examples.mdreferences/examples.mdCommon issues:
hyprctl monitors to list available monitorsmisc.vfrDebugging commands:
# List all monitors
hyprctl monitors
# List all windows with classes
hyprctl clients
# Reload config
hyprctl reload
# Get keyword value
hyprctl getoption general:border_size
# Set keyword value (temporary)
hyprctl keyword general:border_size 3
Use for: New users, testing, simple setups
See: references/examples.md - "Complete Minimal Configuration"
Use for: Workstation setups, multiple displays
See: references/examples.md - "Multi-Monitor Setup" and "Productivity Setup"
Use for: Gamers, low-latency needs
See: references/examples.md - "Gaming Configuration"
Use for: Laptops, touchpads, battery optimization
See: references/examples.md - "Laptop-Specific Configuration"
Use for: Aesthetic focus, eye candy
See: references/examples.md - "Rice (Beautiful Desktop) Configuration"
Use for: Power users, keyboard-driven workflow
See: references/examples.md - "Tiling Window Manager Workflow"
Always include NVIDIA environment variables and specific settings. See references/examples.md - "NVIDIA GPU Configuration" for the complete setup.
monitor = eDP-1, 3840x2160@60, 0x0, 2 # 2x scaling
env = XCURSOR_SIZE,48 # Larger cursor
For large configs, split into multiple files:
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/keybinds.conf
source = ~/.config/hypr/windowrules.conf
For slower systems:
blur.size and blur.passesdrop_shadow = falsemisc.vfr = trueWhen providing configurations:
File creation:
~/.config/hypr/hyprland.confThe skill includes comprehensive reference files:
Always consult these before searching online documentation, as they provide immediate, reliable information.
Before finalizing configurations:
Use hyprctl commands to validate when working with existing systems.
Official documentation sections (search with the script):
Search any of these with: python3 scripts/search_hyprland_docs.py "<topic>"
development
Istio service mesh operational safety, ambient mode patterns, mTLS enforcement, Gateway API usage, and AuthorizationPolicy guidance. Use when working with Istio configuration, mesh policies, or service mesh troubleshooting.
tools
Documentation for the htmx JavaScript library (attributes, events, headers, API, extensions, examples, migration guides, server examples). Use when you need accurate htmx syntax/behavior or to locate the right reference page for an htmx question.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.