Dotfiles/setup/modules/Desktop-Environments
Amir Alexander Abdelbaki defa69faab feat(presence-detect): mirror camera via v4l2loopback so the daemon never blocks it
presence-detect.sh now feeds the real webcam into a v4l2loopback virtual
device (/dev/video42) via a self-healing ffmpeg background process, and reads
motion off that mirror instead of opening the physical camera directly. This
means the daemon's 20s-interval checks never contend with other apps (video
calls, howdy) for exclusive camera access. Falls back to direct camera access
if the loopback isn't set up yet, so the feature degrades gracefully rather
than breaking.

New etc-v4l2loopback/ ships the modules-load.d/modprobe.d config (fixed
video_nr=42, exclusive_caps=1) following the repo's existing etc-greetd/
etc-lightdm/ convention. Deliberately no runtime sudo/modprobe calls inside
the daemon itself — the module loads declaratively at boot instead, matching
this repo's existing caution around unattended sudo.

hyprlua.sh and niri.sh installers now pull in linux-headers,
v4l2loopback-dkms, and v4l2loopback-utils and deploy the module config
immediately. sysupdate.sh gained _ensure_v4l2loopback(), wired into
sync_configs(), so existing machines pick up the new packages and /etc
config on their next --config or --both run without needing a fresh install.

enroll-biometrics.sh's camera picker now excludes the loopback device itself
(by card_label) so configuring the real camera can't accidentally target the
mirror it feeds.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-10 16:39:11 +02:00
..
cosmic.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
gnome.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
hyprland.sh fix(desktop-environments): missing EWW build dep + non-idempotent clone 2026-07-09 12:56:24 +02:00
hyprlua.sh feat(presence-detect): mirror camera via v4l2loopback so the daemon never blocks it 2026-07-10 16:39:11 +02:00
kde-plasma.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
lxqt.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
niri.sh feat(presence-detect): mirror camera via v4l2loopback so the daemon never blocks it 2026-07-10 16:39:11 +02:00
sway.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
xfce.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00