- Replace SDDM with greetd+tuigreet (VT1) using uwsm-managed Hyprland - Remove legacy exec-once from hyprland.conf - Create 6 systemd user services: hyprpaper, waybar, dunst, hypridle, hyprlauncher, cliphist (all WantedBy=graphical-session.target) - Add worktime saver keybinds: fullscreen, float, cycle windows, scratchpad, reload config, browser, keybind menu - Home row navigation: HJKL for focus, move, resize (SUPER+ALT) - Replace wofi with hyprlauncher (first-party, uwsm app prefix) - Add hyprlauncher config with finders: desktop, math, unicode, font - New ansible role templates: systemd/user services - Documentation: hyprland-uwsm.md, cheatsheet.txt KDE Wallet -> Bitwarden migration deferred (extract script prepared)
2.3 KiB
2.3 KiB
Hyprland Configuration - uwsm Integration
Architecture
Session management uses UWSM (Universal Wayland Session Manager) wrapping Hyprland in systemd user services.
greetd → tuigreet → uwsm start → systemd user session → Hyprland
↓
systemd units: hyprpaper, waybar, dunst, hypridle, hyprlauncher, cliphist
XDG autostart: Nextcloud, JetBrains Toolbox, Flameshot, etc.
Session Services
All session services are managed via systemd user units (~/.config/systemd/user/*.service):
| Service | Purpose | Status |
|---|---|---|
hyprpaper.service |
Wallpaper daemon | active |
waybar.service |
Status bar | active |
dunst.service |
Notification daemon | active |
hypridle.service |
Idle/screenlock control | active |
hyprlauncher.service |
App launcher daemon | active |
cliphist.service |
Clipboard history store | active |
Management Commands
# Check all session services
systemctl --user list-units | grep -E 'hypr|waybar|dunst|cliphist'
# Restart a specific service
systemctl --user restart waybar.service
# View logs
journalctl --user -u waybar.service -f
Launchers
| Component | Tool | Keybind |
|---|---|---|
| App Launcher | hyprlauncher | SUPER+D |
| Keybind Menu | hyprlauncher -o (piped) | SUPER+CTRL+K |
hypr launcher config: ~/.config/hypr/hyprlauncher.conf
desktop_launch_prefix = uwsm app --(proper systemd scoping)- Cache enabled for frequency-based sorting
- Finders: desktop (default), math (=), unicode (.), font (')
Login Manager
greetd with tuigreet on VT 1.
Config: /etc/greetd/config.toml
Default command: tuigreet --time --remember --asterisks --cmd 'uwsm start -e -D Hyprland hyprland.desktop'
Key Categories
| Category | Modifier | Keys | Action |
|---|---|---|---|
| Focus | SUPER | H/J/K/L, Arrows | Move focus |
| Move Window | SUPER+SHIFT | H/J/K/L, Arrows | Move window |
| Resize Window | SUPER+ALT | H/J/K/L | Resize active window |
| Windows | SUPER | F, SPACE, TAB, `, P, J | Window actions |
| Apps | SUPER | Q, B, E, D | Launch apps |
| Workspaces | SUPER | 1-9 | Switch/move workspaces |
| Lock | SUPER+CTRL | L | Lock screen |
See ~/.config/hypr/cheatsheet.txt for the full reference.