Overview
This Hyprland configuration is structured like a 12-factor application for portability and maintainability. The basehyprland.conf defines variables and sources modular config files, making it easy to customize and adapt to different environments.
Configuration Structure
The configuration is split into focused modules:hyprland.conf- Main config with variable definitions and module importsmodules/displays.conf- Monitor settingsmodules/autostart.conf- Startup processesmodules/env.conf- Environment variablesmodules/look.conf- Appearance (general, decoration, animations)modules/input.conf- Input devices (keyboard, mouse, touchpad)modules/keybindings.conf- Key bindingsmodules/windows.conf- Window and workspace rulesmodules/hyprlock.conf- Lock screen configurationmodules/hyprpaper.conf- Wallpaper settings
Variables System
All customization is done through variables defined at the top ofhyprland.conf. This makes it easy to change settings without hunting through multiple files.
Program Variables
Theme Variables
Monitor Configuration
Input Configuration
Key Bindings
Application Launchers
| Keybinding | Action |
|---|---|
Super + Shift + Return | Launch terminal |
Super + P | Open application menu (Rofi) |
Super + Shift + P | Launch browser |
Super + Shift + O | Open note taker (Obsidian) |
Super + Shift + I | Launch code editor |
Super + E | Open file manager |
Window Management
| Keybinding | Action |
|---|---|
Super + Shift + C | Kill active window |
Super + Shift + Q | Exit Hyprland |
Super + Alt + F | Toggle floating mode |
Super + R | Pseudo mode (dwindle) |
Super + Shift + T | Toggle split (dwindle) |
Alt + Tab | Focus current or last window |
Focus Navigation
Window Movement
Window Resizing
Workspace Management
System Controls
| Keybinding | Action |
|---|---|
Print | Screenshot area (grimblast) |
Super + V | Clipboard history (cliphist) |
Super + Shift + V | Volume control (pavucontrol) |
Super + B | Toggle waybar |
XF86AudioRaiseVolume | Increase volume 5% |
XF86AudioLowerVolume | Decrease volume 5% |
XF86AudioMute | Toggle audio mute |
XF86MonBrightnessUp | Increase brightness 10% |
XF86MonBrightnessDown | Decrease brightness 10% |
Animations
The configuration uses custom bezier curves for smooth animations:Input Configuration
The input module configures keyboard layout and device settings:Keyboard Options
- Caps Lock → Escape: Swap Caps Lock with Escape
- Layout Toggle:
Win + Spaceto switch between layouts
Environment Variables
Managing Configuration
Editing Configuration
- Edit variables in
~/.config/hypr/hyprland.conf - Modify sourced module files as needed
- All changes are git-tracked for version control
Validating Configuration
Applying Changes
- Reload
- Restart
Multiple Environments
For different setups (e.g., laptop vs desktop):- Copy
hyprland.conftohyprland-laptop.conf - Edit variables and module sources for that environment
- Point Hyprland to the appropriate config via symlink or startup command
modules/hyprland-laptop.conf.
FAQ
How do I change my terminal?
How do I change my terminal?
Edit the Then reload:
$terminal variable in hyprland.conf:hyprctl reloadHow do I add a new keybinding?
How do I add a new keybinding?
How do I configure multiple monitors?
How do I configure multiple monitors?
Edit monitor variables in
hyprland.conf or modify modules/displays.conf directly:Where are window rules defined?
Where are window rules defined?
Window and workspace rules are in
modules/windows.conf. Example:Related Files
Location:~/.config/hypr/