Hyprland
Configuration is stored in ~/.config/hypr. The main file is hyprland.lua, which loads modules from the config/ directory:
variables.lua- modifier keys and default applicationsenv.lua- environment variablesautostart.lua- startup processesmonitors.lua- display and resolution setupsettings.lua- window decorations, blur, animations, and inputkeybinds.lua- keybindings for compositor actions and shell controls
Autostart
The shell daemon, clipboard history, and audio effects are launched from config/autostart.lua:
hl.on("hyprland.start", function()
hl.exec_cmd("wl-paste --type text --watch cliphist store")
hl.exec_cmd("wl-paste --type image --watch cliphist store")
hl.exec_cmd("systemctl --user enable --now easyeffects")
hl.exec_cmd("serpantinumd start")
end)
Keybindings
Shell overlays and controls are bound in config/keybinds.lua using serpantinum msg toggle <module>:
launcher- application launchersystem- system control panelclipboard- clipboard historymusic- media playerwallpaper- wallpaper selectorcalendar- calendar popoutnetwork- wi-fi and network connectionsvolume- audio output and input sliderguide- cheat sheet for keybindingsautohide- toggle status bar autohide
Workspace switching is routed through the shell to update bar indicators:
for i = 1, 10 do
hl.bind("SUPER + " .. (i % 10), hl.dsp.exec_cmd("serpantinum msg workspace " .. i))
hl.bind("SUPER + SHIFT + " .. (i % 10), hl.dsp.exec_cmd("serpantinum msg workspace " .. i .. " move"))
end
Quick utility actions:
- Lock screen:
serpantinum lock - Reload shell:
serpantinum reload - Screenshots:
serpantinum screenshot(add--edit,--full, or--full --edit) - Brightness:
serpantinum brightness lowerandserpantinum brightness raise - Volume:
serpantinum volume lower,serpantinum volume raise, andserpantinum volume mute-toggle