From aad4c13c15b17c940a3910819b26803d1e65ca69 Mon Sep 17 00:00:00 2001 From: Justinas Stankevicius Date: Tue, 4 Feb 2025 18:13:47 +0200 Subject: [PATCH] openterface-qt: add udev rules for user access --- pkgs/by-name/op/openterface-qt/package.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/op/openterface-qt/package.nix b/pkgs/by-name/op/openterface-qt/package.nix index d8ca38469218..244fa0903e6b 100644 --- a/pkgs/by-name/op/openterface-qt/package.nix +++ b/pkgs/by-name/op/openterface-qt/package.nix @@ -4,9 +4,22 @@ makeDesktopItem, copyDesktopItems, fetchFromGitHub, + writeText, qt6, libusb1, }: +let + # Based on upstream instructions: https://github.com/TechxArtisanStudio/Openterface_QT#for-linux-users + udevRules = writeText "60-openterface.rules" '' + # Serial to HID converter for keyboard/mouse control. + # ID 1a86:7523 QinHeng Electronics CH340 serial converter + KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", TAG+="uaccess" + + # "hidraw" device for accessing the host-target toggleable USB port. + # ID 534d:2109 MacroSilicon Openterface + KERNEL=="hidraw*", ATTRS{idVendor}=="534d", ATTRS{idProduct}=="2109", TAG+="uaccess" + ''; +in stdenv.mkDerivation (final: { pname = "openterface-qt"; version = "0.1.0"; @@ -33,7 +46,9 @@ stdenv.mkDerivation (final: { mkdir -p $out/bin cp ./openterfaceQT $out/bin/ mkdir -p $out/share/pixmaps - cp ./images/icon_256.png $out/share/pixmaps/${final.pname}.png + cp ./images/icon_256.png $out/share/pixmaps/openterface-qt.png + mkdir -p $out/etc/udev/rules.d + cp ${udevRules} $out/etc/udev/rules.d/60-openterface.rules runHook postInstall '';