My Hyprland setup uses the Lua-based config system introduced in recent versions. It handles everything: autostart apps, window rules, keybindings, workspace modes, and integration with other tools (Waybar, Wofi, Hyprpaper).
The mode-switcher script is the fun part: it switches between "Travail" (work: code + firefox + discord, 2 kitty terminals) and "Détente" (relax: just firefox + discord). One keybind, two workflows.
Three helper scripts bound to Hyprland keybindings (screenshot, quick notes, workspace mode switcher).
Region screenshot with grim + slurp, copies to clipboard, sends a notification.
Bound to Print.
Creates a timestamped note in ~/notes/ and opens it in Vim inside a new Kitty
window. Bound to Super + N.
Switches between Travail (2 kitty + code + firefox + discord) and
Détente (firefox + discord). Uses hyprctl and jq.
Bound to Super + Tab.
A Hyprland plugin that allows per-monitor workspaces. Each monitor gets its own set of workspaces (e.g., 1-5 on the laptop screen, 6-0 on the external monitor). This solves the classic issue where workspaces are shared across all monitors.
Installed via hyprpm (Hyprland Plugin Manager). Repository:
levnikmyskin/hyprland-split-monitor-workspaces
Note: the plugin source is present in my dotfiles as a submodule but is not modified. It's purely a dependency.