Two independent bugs, both silent no-ops:
1. hyprlua's hyprland.lua config is Lua-generated, not the classic hyprlang
parser, so `hyprctl keyword device[...]:enabled ...` fails outright
("keyword can't work with non-legacy parsers. Use eval."). Switched to
`hyprctl eval "hl.device({name=..., enabled=...})"`, the Lua API's
live-reachable equivalent — same hl.* eval bridge eww's workspace
switching already uses, and the same hl.device() block hyprland.lua
itself uses at config-load time for per-device overrides.
2. The device name was hardcoded to a previous machine's touchpad
("synaptics-tm3053-009"), so even a working keyword/eval call would
silently match nothing on this Framework 12's
"pixa3854:...-touchpad". Resolve it dynamically from `hyprctl devices -j`
instead.
Also renamed the copy-pasted enable_keyboard/disable_keyboard functions and
keyboard.status state file to match what this script actually toggles.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace hyprctl dispatch exec with direct daemon invocation in caffeine.sh,
and replace defunct \$LAPTOP_KB_ENABLED .conf variable with the actual
device key path in hyprland-toggle-touchpad.sh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Duplicates desktopenvs/hyprland/ as desktopenvs/hyprlua/ and converts all
Hyprland-specific configs (.conf) to Lua (.lua) using the 0.55+ hl.* API:
hyprland.lua, envvars.lua, monitors.lua, input.lua, autostart.lua,
windowrules.lua, binds.lua. Non-Hyprland tool configs (hyprpaper, hyprlock,
hypridle, hyprtoolkit) remain as .conf. Adds hyprlua.sh installer (user-side
.lua files install to ~/.config/hypr/ for require() resolution) and registers
HyprLua as the recommended DE option in tui-install.sh, marking the old
hyprlang-based Hyprland install as legacy.
Also consolidates hyprland (legacy) env vars into hypr-usr/envvars.conf,
removing duplicates from hyprland.conf and monitors.conf.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>