Add ExecStopPost to write 0 to bcm5974's inhibited sysfs node,
so the touchpad is always restored even if the script is killed
mid-inhibit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The AttrKeyboardIntegration=internal quirk caused libinput's native
DWT to permanently disable the touchpad. Keep the custom script.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tell libinput the Apple keyboard is internal so its built-in
disable-while-typing pairing works despite keyboard and touchpad
sharing the same USB device. Keep the custom DWT script as fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The zen-beta headless warmup was causing system unresponsiveness on
the MacBook's limited hardware. XFCE fallback is unnecessary with
Hyprland's emergency mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Hyprland's built-in disable-while-typing doesn't work on this
MacBook because the keyboard and touchpad share the same USB
device, breaking libinput's device pairing. Add a lightweight
Python daemon that watches keyboard events and inhibits the
touchpad via sysfs for 500ms after each keypress.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Start Zen headless for 3s at login to prime the page cache and shared
libraries on the slow MacBook Air hardware.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ghostty exits cleanly when the last window closes, so on-failure
never triggers a restart. Switch to Restart=always with a 1s delay
so the headless instance respawns and stays warm.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Start Ghostty headless and pre-warm Nemo at login so both launch
faster on the aging Haswell MacBook Air.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- protonvpn-gui → proton-vpn
- xfce.thunar → thunar
- set gtk.gtk4.theme = null to adopt new HM 26.05 default
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
VSCodium (with its nix-ld/LD_LIBRARY_PATH wrapper for native extension
addons) has been removed from home-manager. nix-ld is no longer needed
on Gaming or Macbook without it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch Gaming and Macbook to home-manager unstable which has
configType = "lua" support. Converts the full Hyprland config from
deprecated hyprlang to native Lua:
- flake: add home-manager unstable input for Gaming/Macbook
- hyprland.nix: configType = "lua", settings.config for static sections,
extraConfig for env/startup/animations/binds/window-rules
- hosts: monitor config updated to hl.monitor({}) table format
Eliminates the windowrulev2 deprecation banner.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
wob (Wayland OSD Bar) runs as a systemd user service listening on a FIFO.
Keyboard brightness keybindings now pipe the new brightness percentage to
the FIFO after each adjustment, showing a progress bar overlay.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add XF86KbdBrightnessUp/Down keybindings (Macbook-only) using swayosd
for consistent OSD behaviour with screen brightness and volume
- Enable hardware.acpilight for udev rules allowing video group to write
to /sys/class/leds/ (keyboard backlight)
- Add fred to the video group so brightnessctl/swayosd can write backlight values
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>