nixos-configuration/modules/udev.nix
2025-09-23 21:38:53 +02:00

31 lines
1 KiB
Nix

let
usbDeviceRules = [
# rad10
{ vendor = "1d50"; product = "cc15"; group = "users"; mode = "0660"; }
{ vendor = "1d50"; product = "6089"; group = "users"; mode = "0660"; }
# DJI Goggles
{ vendor = "2ca3"; product = "001f"; group = "plugdev"; mode = "0660"; }
# uDMX
{ vendor = "16c0"; product = "05dc"; group = "users"; mode = "0660"; }
# Brother P-touch P700
{ vendor = "04f9"; product = "2061"; group = "users"; mode = "0660"; }
# RP2040 in BOOTSEL mode
{ vendor = "2e8a"; product = "0003"; group = "users"; mode = "0660"; }
# RP2350 in BOOTSEL mode
{ vendor = "2e8a"; product = "000f"; group = "users"; mode = "0660"; }
# WCH Link (CMSIS-DAP compatible adapter)
{ vendor = "1a86"; product = "8010"; group = "plugdev"; mode = "0660"; }
];
mkUsbRule = rule:
''SUBSYSTEM=="usb", ATTR{idVendor}=="${rule.vendor}", ATTR{idProduct}=="${rule.product}", GROUP="${rule.group}", MODE="${rule.mode}"'';
in
{
services.udev.extraRules = builtins.concatStringsSep "\n" (map mkUsbRule usbDeviceRules);
}