summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-09 00:55:50 -0600
committerCraig Jennings <c@cjennings.net>2026-02-09 00:55:50 -0600
commitc87938e6e5467bec122190e640712c48b3d41af4 (patch)
tree7ca5a49e1ae334a233fff8c404a36fc8a1cdcc7c
parent54566b220c4310e7887cf7543053cee5e40a329a (diff)
feat(archsetup): add zoom, webcam tools, and BRIO udev rule
Add zoom (AUR), cameractrls, v4l-utils to archsetup. Add Logitech BRIO udev rule for auto-applying camera settings on connect. Adopt logitech-brio-settings.sh into dotfiles. Remove flatpak (no longer used). Update wallpaper config.
-rwxr-xr-xarchsetup13
-rw-r--r--assets/outbox/2026-02-08-homelab-session-system-changes.txt26
-rwxr-xr-xdotfiles/common/.local/bin/logitech-brio-settings.sh31
-rw-r--r--dotfiles/hyprland/.config/waypaper/config.ini2
4 files changed, 70 insertions, 2 deletions
diff --git a/archsetup b/archsetup
index 221cf6b..ffaa1d8 100755
--- a/archsetup
+++ b/archsetup
@@ -1415,6 +1415,8 @@ hyprland() {
pacman_install satty # screenshot annotation
pacman_install wf-recorder # screen recording
pacman_install obs-studio # streaming/recording studio
+ pacman_install cameractrls # webcam controls GUI (white balance, zoom, pan/tilt)
+ pacman_install v4l-utils # video4linux utilities (v4l2-ctl for webcam settings)
pacman_install hyprpicker # color picker
pacman_install gammastep # night light (replaces redshift)
pacman_install brightnessctl # brightness control
@@ -1452,6 +1454,14 @@ HOOKEOF
# Replace placeholder with actual username
sed -i "s/ARCHSETUP_USERNAME/$username/" /etc/pacman.d/hooks/hyprpm.hook
chmod 644 /etc/pacman.d/hooks/hyprpm.hook
+
+ # Logitech BRIO webcam auto-configuration
+ action="creating Logitech BRIO udev rule" && display "task" "$action"
+ cat > /etc/udev/rules.d/99-logitech-brio.rules << UDEVEOF
+# Apply camera settings when Logitech BRIO is connected
+ACTION=="add", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="085e", ATTR{index}=="0", RUN+="/home/$username/.local/bin/logitech-brio-settings.sh /dev/%k"
+UDEVEOF
+ chmod 644 /etc/udev/rules.d/99-logitech-brio.rules
}
### Display Server (conditional)
@@ -1530,7 +1540,7 @@ desktop_environment() {
pacman_install testdisk
pacman_install tickrs
pacman_install udisks2
- pacman_install flatpak # app sandboxing and distribution
+
aur_install touchpad-indicator-git
aur_install dotpac
aur_install downgrade
@@ -1895,6 +1905,7 @@ supplemental_software() {
else
aur_install slack-desktop # team messaging
fi
+ aur_install zoom # video conferencing
pacman_install iperf3 # network bandwidth testing
pacman_install net-tools # network tools (netstat for security auditing)
pacman_install smartmontools # monitors hard drives
diff --git a/assets/outbox/2026-02-08-homelab-session-system-changes.txt b/assets/outbox/2026-02-08-homelab-session-system-changes.txt
new file mode 100644
index 0000000..4092484
--- /dev/null
+++ b/assets/outbox/2026-02-08-homelab-session-system-changes.txt
@@ -0,0 +1,26 @@
+System changes from homelab session 2026-02-08
+==============================================
+
+1. ZOOM: Switched from Flatpak to AUR package
+ - Removed: flatpak uninstall us.zoom.Zoom
+ - Installed: yay -S zoom (AUR, version 6.7.2-1)
+ - Reason: Flatpak sandboxing caused settings to reset and broke theme integration
+ - Config: ~/.config/zoomus.conf
+ - enableWaylandShare=true (for screen sharing on Wayland)
+ - xwayland=true (xwayland=false causes rendering glitches)
+ - useSystemTheme=false (true causes bugs, dark mode not available on Linux anyway)
+
+2. PACKAGE: Installed cameractrls
+ - Installed: sudo pacman -S cameractrls
+ - Purpose: GUI tool for webcam controls (white balance, zoom, pan/tilt, etc.)
+ - Launch: cameractrlsgtk4
+ - Used to configure Logitech BRIO webcam settings
+
+3. UDEV RULE: Logitech BRIO auto-configuration
+ - File: /etc/udev/rules.d/99-logitech-brio.rules
+ - Triggers: ~/.local/bin/logitech-brio-settings.sh
+ - Purpose: Applies saved camera settings (white balance, zoom, pan/tilt) when BRIO is plugged in
+ - BRIO USB ID: 046d:085e
+ - NOTE: Script is at ~/.local/bin/logitech-brio-settings.sh — needs to be adopted
+ into archsetup dotfiles and GNU Stow-symlinked. The udev rule references the
+ full path /home/cjennings/.local/bin/logitech-brio-settings.sh.
diff --git a/dotfiles/common/.local/bin/logitech-brio-settings.sh b/dotfiles/common/.local/bin/logitech-brio-settings.sh
new file mode 100755
index 0000000..104c880
--- /dev/null
+++ b/dotfiles/common/.local/bin/logitech-brio-settings.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Apply saved camera settings for Logitech BRIO
+# Triggered by udev rule on USB connect
+# Settings dialed in via cameractrls on 2026-02-08
+
+DEVICE="$1"
+
+if [ -z "$DEVICE" ]; then
+ # Find the BRIO's main video device
+ DEVICE=$(v4l2-ctl --list-devices 2>/dev/null | grep -A1 "Logitech BRIO" | grep /dev/video | head -1 | tr -d '[:space:]')
+fi
+
+[ -z "$DEVICE" ] && exit 1
+
+sleep 2 # Give the device time to initialize
+
+v4l2-ctl -d "$DEVICE" \
+ --set-ctrl=brightness=85 \
+ --set-ctrl=contrast=88 \
+ --set-ctrl=saturation=128 \
+ --set-ctrl=sharpness=163 \
+ --set-ctrl=backlight_compensation=0 \
+ --set-ctrl=power_line_frequency=2 \
+ --set-ctrl=white_balance_automatic=0 \
+ --set-ctrl=white_balance_temperature=3050 \
+ --set-ctrl=auto_exposure=3 \
+ --set-ctrl=exposure_dynamic_framerate=1 \
+ --set-ctrl=focus_automatic_continuous=1 \
+ --set-ctrl=zoom_absolute=136 \
+ --set-ctrl=pan_absolute=-10800 \
+ --set-ctrl=tilt_absolute=0
diff --git a/dotfiles/hyprland/.config/waypaper/config.ini b/dotfiles/hyprland/.config/waypaper/config.ini
index c459641..83b9ea4 100644
--- a/dotfiles/hyprland/.config/waypaper/config.ini
+++ b/dotfiles/hyprland/.config/waypaper/config.ini
@@ -2,7 +2,7 @@
language = en
folder = ~/pictures/wallpaper
monitors = All
-wallpaper = ~/pictures/wallpaper/my-summer-home-denmark.png
+wallpaper = ~/pictures/wallpaper/trondheim-norway.jpg
show_path_in_tooltip = True
backend = swww
fill = fill