| name | hypr-config |
| description | Configure and troubleshoot Hyprland safely in this dotfiles repo. Use when adding or changing monitor, bind, input, workspace, window rule, layer rule, layout, animation, env, startup, or runtime behavior in `.config/hypr/*.conf`, and when diagnosing config errors, layer-shell stacking/input issues, or post-reload regressions for Hyprland 0.55 docs / locally recorded runtime. |
Hypr Config
Scope
Treat .config/hypr/docs/agents/ as the canonical local reference for this repo.
Reference baseline: Hyprland 0.55.0 docs. Confirm locally installed runtime with .config/hypr/docs/agents/version.md / hyprctl version before relying on new options.
Edit only the smallest relevant config file. Keep the repo's split-config layout.
Activation Boundaries
Use this skill for Hyprland config/runtime behavior.
Do not use this skill for generic Nix/Home Manager refactors unless the task includes Hyprland behavior or diagnostics.
Required Workflow
- Read the active config structure first:
.config/hypr/docs/agents/structure.md
- Classify the issue before editing:
- parse/syntax errors
- layer/input/stacking behavior
- runtime regression after reload
- Confirm exact syntax and options in local docs before changing behavior.
- Apply minimal edits in the appropriate sourced file.
- Validate every
.conf change with:
- Reload only when needed:
If hyprctl configerrors reports issues, fix them before any further tuning.
Failure Decision Tree
- If
hyprctl configerrors is non-empty, fix syntax/rules first.
- If symptom is layer/input/overlay behavior, inspect:
hyprctl layers
hyprctl clients
.config/hypr/docs/agents/layer-rules.md
- If symptom appears only after reload/startup, inspect live logs:
- If unresolved, return the smallest next diagnostic step and required evidence.
NEVER
- Never skip
hyprctl configerrors after editing .conf files.
- Never bundle unrelated config changes before a validation cycle.
- Never claim a fix without command evidence tied to the symptom.
- Never use broad regex selectors when a stable explicit selector is available.
- Never rely on high-frequency
hyprctl polling loops; hyprctl is synchronous.
Authoring Rules
- Respect comma-separated argument counts. Empty arguments still require separators.
- Use block nesting for subcategories (
general { snap { ... } }), not general:snap {.
- Keep rule order intentional. Rules are evaluated top to bottom.
- Remember precedence: named rules evaluate before anonymous rules.
- Distinguish static and dynamic window effects:
- static effects apply on window creation
- dynamic effects can be adjusted at runtime (including with
setprop)
- Prefer explicit
match: props and stable selectors over broad regex rules.
Reference Loading Strategy
Load local docs first. Use these paths directly:
.config/hypr/docs/agents/pitfalls.md for syntax traps and script-path pitfalls.
.config/hypr/docs/agents/debugging.md for first-line diagnostics.
.config/hypr/docs/agents/references/Variables.md for option types/defaults.
.config/hypr/docs/agents/references/Keywords.md for config keywords and sourcing.
.config/hypr/docs/agents/references/Binds.md and .config/hypr/docs/agents/references/Dispatchers.md for key handling.
.config/hypr/docs/agents/references/Window-Rules.md for window/layer rule behavior.
.config/hypr/docs/agents/references/Workspace-Rules.md for workspace policies.
.config/hypr/docs/agents/references/Monitors.md for monitor setup/scaling.
.config/hypr/docs/agents/references/Using-hyprctl.md for runtime control semantics.
Escalate to upstream docs only when local docs do not cover the behavior.
Config Decision Guide
- Monitors and scaling:
.config/hypr/docs/agents/references/Monitors.md.
- Base options and types:
.config/hypr/docs/agents/references/Variables.md.
- Keywords and sourcing:
.config/hypr/docs/agents/references/Keywords.md.
- Binds and submaps:
.config/hypr/docs/agents/references/Binds.md + .config/hypr/docs/agents/references/Dispatchers.md.
- Window behavior:
.config/hypr/docs/agents/references/Window-Rules.md.
- Layer behavior (bars/notifications/overlays):
.config/hypr/docs/agents/references/Window-Rules.md (Layer Rules section).
- Workspace policy/default monitor/layout:
.config/hypr/docs/agents/references/Workspace-Rules.md.
- Layout-specific tuning:
.config/hypr/docs/agents/references/Dwindle-Layout.md, .config/hypr/docs/agents/references/Master-Layout.md, .config/hypr/docs/agents/references/Monocle-Layout.md, .config/hypr/docs/agents/references/Scrolling-Layout.md.
- Runtime control via CLI:
.config/hypr/docs/agents/references/Using-hyprctl.md.
Runtime-Safe Iteration
When testing behavior, prefer temporary runtime changes first, then persist in config:
hyprctl keyword ... for option experiments
hyprctl dispatch ... for behavior checks
hyprctl getoption ... for effective values
Batch multiple runtime operations when possible with hyprctl --batch.
Avoid high-frequency hyprctl loops; it is synchronous.
Output Contract
Return these five items:
- symptom bucket
- files inspected or edited
- commands run with key results
- root-cause hypothesis with confidence
- smallest next safe step
Repo Notes
- Scripts referenced by config should use full path style consistent with this repo (
~/.config/hypr/runtime/<area>/...).
- If scripts are introduced or moved, keep executable bit correct.