diff options
Diffstat (limited to 'pkgs')
| -rw-r--r-- | pkgs/default.nix | 1 | ||||
| -rw-r--r-- | pkgs/solaar-udev-rules/42-logitech-unify-permissions.rules | 31 | ||||
| -rw-r--r-- | pkgs/solaar-udev-rules/default.nix | 14 |
3 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix index 1069328..f2bd7c6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -16,4 +16,5 @@ in { inherit inputs options; }; libfprint-2-tod1-vfs0090 = pkgs.callPackage ./libfprint-2-tod1-vfs0090 {}; + solaar-udev-rules = pkgs.callPackage ./solaar-udev-rules {}; } 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 + ''; +} |