31 lines
1 KiB
Nix
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);
|
|
}
|