summaryrefslogtreecommitdiff
path: root/pkgs/solaar-udev-rules
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-01-07 12:39:48 -0500
committerFreya Murphy <freya@freyacat.org>2026-01-07 12:39:48 -0500
commit7e2c89d7094aeb67028db639673d2f6211a2184d (patch)
tree52fcdc588c81f3e9b271ef470a90e0c29ef59d27 /pkgs/solaar-udev-rules
parentnvidia :3 (diff)
downloaddotfiles-nix-7e2c89d7094aeb67028db639673d2f6211a2184d.tar.gz
dotfiles-nix-7e2c89d7094aeb67028db639673d2f6211a2184d.tar.bz2
dotfiles-nix-7e2c89d7094aeb67028db639673d2f6211a2184d.zip
move solaar rules to udev package
Diffstat (limited to 'pkgs/solaar-udev-rules')
-rw-r--r--pkgs/solaar-udev-rules/42-logitech-unify-permissions.rules31
-rw-r--r--pkgs/solaar-udev-rules/default.nix14
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/solaar-udev-rules/42-logitech-unify-permissions.rules b/pkgs/solaar-udev-rules/42-logitech-unify-permissions.rules
new file mode 100644
index 0000000..e52c9b0
--- /dev/null
+++ b/pkgs/solaar-udev-rules/42-logitech-unify-permissions.rules
@@ -0,0 +1,31 @@
+# This rule was added by Solaar.
+#
+# Allows non-root users to have raw access to Logitech devices.
+# Allowing users to write to the device is potentially dangerous
+# because they could perform firmware updates.
+
+ACTION != "add", GOTO="solaar_end"
+SUBSYSTEM != "hidraw", GOTO="solaar_end"
+
+# USB-connected Logitech receivers and devices
+ATTRS{idVendor}=="046d", GOTO="solaar_apply"
+
+# Lenovo nano receiver
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6042", GOTO="solaar_apply"
+
+# Bluetooth-connected Logitech devices
+KERNELS == "0005:046D:*", GOTO="solaar_apply"
+
+GOTO="solaar_end"
+
+LABEL="solaar_apply"
+
+# Allow any seated user to access the receiver.
+# uaccess: modern ACL-enabled udev
+TAG+="uaccess"
+
+# Grant members of the "plugdev" group access to receiver (useful for SSH users)
+#MODE="0660", GROUP="plugdev"
+
+LABEL="solaar_end"
+# vim: ft=udevrules
diff --git a/pkgs/solaar-udev-rules/default.nix b/pkgs/solaar-udev-rules/default.nix
new file mode 100644
index 0000000..a4148a0
--- /dev/null
+++ b/pkgs/solaar-udev-rules/default.nix
@@ -0,0 +1,14 @@
+{stdenv}:
+stdenv.mkDerivation {
+ name = "solaar-udev-rules";
+
+ src = ./.;
+
+ dontBuild = true;
+ dontConfigure = true;
+
+ installPhase = ''
+ mkdir -p $out/etc/udev/rules.d
+ cp 42-logitech-unify-permissions.rules $out/etc/udev/rules.d
+ '';
+}