aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:39 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:39 +0100
commit2d70af4ae06e1a528cf3b49e0249ea27fe9c8df2 (patch)
tree4d379836bc8c8419320230320f9384238cdaea26
parent6ab4b0faef22b4fda4b6a3b45dca4c3858eb8802 (diff)
downloaddotfiles-2d70af4ae06e1a528cf3b49e0249ea27fe9c8df2.tar.gz
dotfiles-2d70af4ae06e1a528cf3b49e0249ea27fe9c8df2.tar.bz2
dotfiles-2d70af4ae06e1a528cf3b49e0249ea27fe9c8df2.zip
refactor(udev): drop hand-rolled ZSA rule, install qmk package instead
The qmk Arch package ships /usr/lib/udev/rules.d/50-qmk.rules covering all major mech-keyboard vendors including ZSA's VID 3297, with the same TAG+=uaccess semantics. Prefer that over maintaining our own rules file. - meta/base.txt: + qmk - etc/udev/rules.d/50-zsa.rules: removed - etc deploy script: drop the udevadm reload (only existed to support our custom rule; pacman handles reloads for package-shipped rules).
-rw-r--r--etc/udev/rules.d/50-zsa.rules13
-rw-r--r--meta/base.txt5
-rwxr-xr-xrun_onchange_after_deploy-etc.sh.tmpl5
3 files changed, 5 insertions, 18 deletions
diff --git a/etc/udev/rules.d/50-zsa.rules b/etc/udev/rules.d/50-zsa.rules
deleted file mode 100644
index 86e443a..0000000
--- a/etc/udev/rules.d/50-zsa.rules
+++ /dev/null
@@ -1,13 +0,0 @@
-# ZSA keyboards (ErgoDox EZ, Moonlander, Voyager) raw-HID access.
-# Required for Wally flashing and VIA / usevia.app key-remapping over WebHID.
-# `uaccess` tag delegates permission to the active logind session user,
-# so no plugdev/input group membership is needed.
-KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0660", TAG+="uaccess"
-
-# STM32 DFU bootloader for Moonlander / Voyager (only fires while flashing).
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \
- MODE="0660", TAG+="uaccess"
-
-# Halfkay bootloader (ErgoDox EZ) — used by Wally / Teensy loader.
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", \
- MODE="0660", TAG+="uaccess"
diff --git a/meta/base.txt b/meta/base.txt
index 6a4a7f8..0629cf2 100644
--- a/meta/base.txt
+++ b/meta/base.txt
@@ -180,6 +180,11 @@ inhibridge
# secrets under ~/.password-store/secret-service/.
pass-secret-service-bin
+# Ships /usr/lib/udev/rules.d/50-qmk.rules, which (among many vendors)
+# tags ZSA's VID 3297 hidraw nodes with uaccess. Required for VIA /
+# usevia.app (WebHID) to talk to the ErgoDox EZ / Moonlander / Voyager.
+qmk
+
# Clipboard
wl-clipboard
cliphist
diff --git a/run_onchange_after_deploy-etc.sh.tmpl b/run_onchange_after_deploy-etc.sh.tmpl
index ec53c99..d08f989 100755
--- a/run_onchange_after_deploy-etc.sh.tmpl
+++ b/run_onchange_after_deploy-etc.sh.tmpl
@@ -31,11 +31,6 @@ sudo ln -sfT sudo /etc/pam.d/sudo-i
# (e.g. HandlePowerKey overrides) take effect without dropping sessions.
sudo systemctl kill -s HUP systemd-logind
-# Reload udev rules and re-trigger so changes in etc/udev/rules.d/ apply
-# to already-plugged devices without a reboot or replug.
-sudo udevadm control --reload
-sudo udevadm trigger
-
# Make sudo-rs the system-wide sudo via /usr/local/bin precedence.
# Targets may not exist yet on first bootstrap (sudo-rs is installed by
# the subsequent pkg-apply step); the symlinks resolve once it lands.