- Add hyprscratch from colonelpanic8/reapply-rules-on-toggle fork that
reapplies size/position/float rules on every toggle (not just spawn)
- Configure 9 scratchpads: htop, volume, spotify, element, slack,
transmission, dropdown, gmail, messages
- Use clean mode (hide on workspace change) and auto-dismiss (only
dropdown persists)
- Fix pavucontrol class (org.pulseaudio.pavucontrol) and dropdown
position (offset by taffybar height)
- Add kanshi-sni, dbus-menu, dbus-hslogger flake inputs and follows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the manual wlsunset package + commented exec-once with a proper
home-manager services.wlsunset module tied to hyprland-session.target.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
systemd user environment persists across login sessions, so
XDG_SESSION_TYPE can be stale. Proactively set a custom variable
on each session start so ConditionEnvironment checks are reliable.
Use it for xsettingsd and random-background (X11-only services).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add desktop-entry icon lookup to the rofi window picker scripts,
matching the XMonad setup's icon support. A shared helper script
(window-icon-map.sh) builds a class→icon mapping from .desktop files
and each picker uses rofi's dmenu icon protocol (\0icon\x1f).
Also replaces the X11-only "rofi -show window" with a native
Hyprland window picker using hyprctl clients.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Introduce HYPR_MAX_WORKSPACE (default 9) and enforce it in scripts
- Replace 'workspace empty' bindings with scripts that pick an empty id
- Add scroll-to-workspace helper for mouse wheel binds
Configure Hyprland to use the hy3 plugin for dynamic tiling similar to
XMonad. Uses official Hyprland and hy3 flakes pinned to v0.53.0 for
proper plugin compatibility (nixpkgs packaging had header issues).
Key changes:
- Add hyprland and hy3 flake inputs with version pinning
- Rewrite hyprland.conf with hy3 layout and XMonad-like keybindings
- Add helper scripts for window management (bring, replace, gather, etc.)
- WASD directional navigation using hy3:movefocus/movewindow
- Tab groups, horizontal/vertical splits via hy3:makegroup
- Scratchpads via Hyprland special workspaces
Also removes org-agenda-api flake integration (moved elsewhere).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>