*udev-rules.drv fails system rebuild

Are there any work arounds besides disabling “services.udev.enable = true;”
I have some udev rules for a usb peripheral that won’t work without it.

error: builder for ‘/nix/store/zs3k854wn2zv8b8j3hccb54bzv9l9q20-udev-rules.drv’ failed with exit code 1;
last 25 log lines:
> Copying /nix/store/zjnkqjppfq5pd19vizrcqwk68q4wbf9v-extra-udev-rules/etc/udev/rules.d/99-local.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules
> Adding rules for package /nix/store/l30yrrkiipiag4jxxhgblp3sgbhmwv37-extra-hwdb-file
> Adding rules for package /nix/store/0d6pnqps9fx0xkp0r085gxvvsdp1visw-power-profiles-daemon-0.30
> Adding rules for package /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1
> Copying /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1/lib/udev/rules.d/80-libinput-device-groups.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/80-libinput-device-groups.rules
> Copying /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1/lib/udev/rules.d/90-libinput-fuzz-override.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/90-libinput-fuzz-override.rules
> Adding rules for package /nix/store/9fv2w93p5fykqpxj35v3jcxbq0rfp8nw-bluez-5.80
> Copying /nix/store/9fv2w93p5fykqpxj35v3jcxbq0rfp8nw-bluez-5.80/lib/udev/rules.d/97-hid2hci.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/97-hid2hci.rules
> Adding rules for package /nix/store/nxglxhqmgxvylmrc50jd2yydji26h1yd-system-config-printer-1.5.18
> Copying /nix/store/nxglxhqmgxvylmrc50jd2yydji26h1yd-system-config-printer-1.5.18/etc/udev/rules.d/70-printers.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/70-printers.rules
> Adding rules for package /nix/store/n2w680igbcrnwq917wx4fangvwsn73im-pipewire-1.4.2
> Copying /nix/store/n2w680igbcrnwq917wx4fangvwsn73im-pipewire-1.4.2/lib/udev/rules.d/90-pipewire-alsa.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/90-pipewire-alsa.rules
> Adding rules for package /nix/store/qjc7q4784bcydgbmj45h6d5pz5g81pcb-android-udev-rules-20250314
> Copying /nix/store/qjc7q4784bcydgbmj45h6d5pz5g81pcb-android-udev-rules-20250314/lib/udev/rules.d/51-android.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/51-android.rules
> Checking that all programs called by relative paths in udev rules exist in /nix/store/6rrvwz3dpqpbd1f9z40wzahfcmxnx9gh-systemd-257.5/lib/udev… OK
> Checking that all programs called by absolute paths in udev rules exist… OK
> Verifying udev rules using udevadm verify…
> /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-huawei-net-port-types.rules:25 style: whitespace after comma is expected.
> /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-huawei-net-port-types.rules:26 style: whitespace after comma is expected.
> /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules:14 Invalid key/value pair, ignoring.
> /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules: udev rules check failed.
>
> 50 udev rules files have been checked.
> Success: 49
> Fail: 1
For full logs, run:
nix log /nix/store/zs3k854wn2zv8b8j3hccb54bzv9l9q20-udev-rules.drv
error: 1 dependencies of derivation ‘/nix/store/fvn8z9vxw29i1da1b4swx1y3sqwk0qrz-etc.drv’ failed to build
error: 1 dependencies of derivation ‘/nix/store/3ldn75n29606wf7xvlwblb21wmxmd66l-nixos-system-nostromo-25.05.20250513.adaa24f.drv’ failed to build

nix log /nix/store/zs3k854wn2zv8b8j3hccb54bzv9l9q20-udev-rules.drv

Adding rules for package /nix/store/jah6vrj79xnbslzz9mvxrqc1hdkc609f-libmtp-1.1.22
Copying /nix/store/jah6vrj79xnbslzz9mvxrqc1hdkc609f-libmtp-1.1.22/lib/udev/rules.d/69-libmtp.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/69-libmtp.rules
Adding rules for package /nix/store/xi565kz17z76bib0x7f8x89gg1lgvvkr-media-player-info-26
Copying /nix/store/xi565kz17z76bib0x7f8x89gg1lgvvkr-media-player-info-26/lib/udev/rules.d/40-usb-media-players.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/40-usb-med>
Adding rules for package /nix/store/cjirr8d6qakanzzawbn1c74riq277kpp-ipv6-privacy-extensions.rules
Copying /nix/store/cjirr8d6qakanzzawbn1c74riq277kpp-ipv6-privacy-extensions.rules/etc/udev/rules.d/98-ipv6-privacy-extensions.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-r>
Adding rules for package /nix/store/waxhhyx1y63w1r45g5bf8ij4m68vl0pa-ipv6-privacy-extensions.rules
Copying /nix/store/waxhhyx1y63w1r45g5bf8ij4m68vl0pa-ipv6-privacy-extensions.rules/etc/udev/rules.d/99-ipv6-privacy-extensions.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-r>
Adding rules for package /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31
Copying /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31/lib/udev/rules.d/10-dm.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/10-dm.rules
Copying /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31/lib/udev/rules.d/11-dm-lvm.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/11-dm-lvm.rules
Copying /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31/lib/udev/rules.d/13-dm-disk.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/13-dm-disk.rules
Copying /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31/lib/udev/rules.d/69-dm-lvm.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/69-dm-lvm.rules
Copying /nix/store/837ivv1gl48zjbhzp5fpsm8zjjp93rav-lvm2-2.03.31/lib/udev/rules.d/95-dm-notify.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/95-dm-notify.rules
Adding rules for package /nix/store/9kv3aa1cibagzmhfnplsr39zpscdvcdq-bcache-tools-1.0.8
Copying /nix/store/9kv3aa1cibagzmhfnplsr39zpscdvcdq-bcache-tools-1.0.8/lib/udev/rules.d/69-bcache.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/69-bcache.rules
Adding rules for package /nix/store/2xnjll06bgmal1c2w07ijmrvfj54wb62-networkmanager-1.52.0
Copying /nix/store/2xnjll06bgmal1c2w07ijmrvfj54wb62-networkmanager-1.52.0/lib/udev/rules.d/84-nm-drivers.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/84-nm-drivers.ru>
Copying /nix/store/2xnjll06bgmal1c2w07ijmrvfj54wb62-networkmanager-1.52.0/lib/udev/rules.d/85-nm-unmanaged.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/85-nm-unmanage>
Copying /nix/store/2xnjll06bgmal1c2w07ijmrvfj54wb62-networkmanager-1.52.0/lib/udev/rules.d/90-nm-thunderbolt.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/90-nm-thunde>
Adding rules for package /nix/store/jrnri448kv5q24qrrwr3r31raklpx4vq-NetworkManager-fortisslvpn-gnome-1.4.0
Adding rules for package /nix/store/yrlbpdiddr9yanbd65cfbcnrajzb6ryf-NetworkManager-iodine-gnome-1.2.0-unstable-2024-11-02
Adding rules for package /nix/store/73zmmm2g9b602gy5y1jhzk72lqb1fxik-NetworkManager-l2tp-gnome-1.20.20
Adding rules for package /nix/store/k6v5xs0mj4gl9jddb7m7w9i4dx7kckz5-NetworkManager-openconnect-1.2.10
Adding rules for package /nix/store/vrcg6sgb5ss6f1z9a15226krm3x7hh8b-NetworkManager-openvpn-1.12.0
Adding rules for package /nix/store/8bmnl5j4fw2pb3yqd7q7ln65d4ph0b8c-NetworkManager-vpnc-1.4.0
Adding rules for package /nix/store/nli0gxw9sp35125drsv9gpv3a6qwd5js-NetworkManager-sstp-gnome-1.3.2
Adding rules for package /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-broadmobi-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-cinterion-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-dell-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-dell>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-dlink-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-dli>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-ericsson-mbm.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-ericsso>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-fibocom-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-f>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-foxconn-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-f>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-gosuncn-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-g>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-haier-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-hai>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-huawei-net-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-m>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-linktop-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-l>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-longcheer-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-mtk-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-mtk-p>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-nokia-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-nok>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-qcom-soc.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-qcom-soc.ru>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-quectel-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-q>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-sierra.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-sierra.rules
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-simtech-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-s>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-telit-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-tel>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-tplink-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-tp>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-ublox-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-ubl>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-x22x-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-x22x>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/77-mm-zte-port-types.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-zte-p>
Copying /nix/store/sviapxjh2zdlvnh812k0ax21qm0dzmbg-modemmanager-1.22.0/lib/udev/rules.d/80-mm-candidate.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/80-mm-candidate.>
Adding rules for package /nix/store/42ncniqajj62myz2wipwn7hdrg07al1q-phodav-3.0
Copying /nix/store/42ncniqajj62myz2wipwn7hdrg07al1q-phodav-3.0/lib/udev/rules.d/70-spice-webdavd.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/70-spice-webdavd.rules
Adding rules for package /nix/store/hzsv53287slqr9gmzfcjm0dwiwkbp1hy-upower-1.90.6
Copying /nix/store/hzsv53287slqr9gmzfcjm0dwiwkbp1hy-upower-1.90.6/lib/udev/rules.d/60-upower-battery.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/60-upower-battery.ru>
Copying /nix/store/hzsv53287slqr9gmzfcjm0dwiwkbp1hy-upower-1.90.6/lib/udev/rules.d/95-upower-hid.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/95-upower-hid.rules
Copying /nix/store/hzsv53287slqr9gmzfcjm0dwiwkbp1hy-upower-1.90.6/lib/udev/rules.d/95-upower-wup.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/95-upower-wup.rules
Adding rules for package /nix/store/p6phkwacbw8sv6wfxj5qp8wzw5jjrn2w-udisks-2.10.1
Copying /nix/store/p6phkwacbw8sv6wfxj5qp8wzw5jjrn2w-udisks-2.10.1/lib/udev/rules.d/80-udisks2.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/80-udisks2.rules
Adding rules for package /nix/store/zjnkqjppfq5pd19vizrcqwk68q4wbf9v-extra-udev-rules
Copying /nix/store/zjnkqjppfq5pd19vizrcqwk68q4wbf9v-extra-udev-rules/etc/udev/rules.d/99-local.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules
Adding rules for package /nix/store/l30yrrkiipiag4jxxhgblp3sgbhmwv37-extra-hwdb-file
Adding rules for package /nix/store/0d6pnqps9fx0xkp0r085gxvvsdp1visw-power-profiles-daemon-0.30
Adding rules for package /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1
Copying /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1/lib/udev/rules.d/80-libinput-device-groups.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/80-libinpu>
Copying /nix/store/b032ir8pgsbg2fnqbqmxym4l24170yzj-libinput-1.27.1/lib/udev/rules.d/90-libinput-fuzz-override.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/90-libinpu>
Adding rules for package /nix/store/9fv2w93p5fykqpxj35v3jcxbq0rfp8nw-bluez-5.80
Copying /nix/store/9fv2w93p5fykqpxj35v3jcxbq0rfp8nw-bluez-5.80/lib/udev/rules.d/97-hid2hci.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/97-hid2hci.rules
Adding rules for package /nix/store/nxglxhqmgxvylmrc50jd2yydji26h1yd-system-config-printer-1.5.18
Copying /nix/store/nxglxhqmgxvylmrc50jd2yydji26h1yd-system-config-printer-1.5.18/etc/udev/rules.d/70-printers.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/70-printers>
Adding rules for package /nix/store/n2w680igbcrnwq917wx4fangvwsn73im-pipewire-1.4.2
Copying /nix/store/n2w680igbcrnwq917wx4fangvwsn73im-pipewire-1.4.2/lib/udev/rules.d/90-pipewire-alsa.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/90-pipewire-alsa.rul>
Adding rules for package /nix/store/qjc7q4784bcydgbmj45h6d5pz5g81pcb-android-udev-rules-20250314
Copying /nix/store/qjc7q4784bcydgbmj45h6d5pz5g81pcb-android-udev-rules-20250314/lib/udev/rules.d/51-android.rules to /nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/51-android.ru>
Checking that all programs called by relative paths in udev rules exist in /nix/store/6rrvwz3dpqpbd1f9z40wzahfcmxnx9gh-systemd-257.5/lib/udev… OK
Checking that all programs called by absolute paths in udev rules exist… OK
Verifying udev rules using udevadm verify…
/nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-huawei-net-port-types.rules:25 style: whitespace after comma is expected.
/nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/77-mm-huawei-net-port-types.rules:26 style: whitespace after comma is expected.
/nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules:14 Invalid key/value pair, ignoring.
/nix/store/1q1gzl7zdpszw26lh0vhw4ai2xz9vihz-udev-rules/99-local.rules: udev rules check failed.

50 udev rules files have been checked.
Success: 49
Fail: 1

1 Like

99-local.rules is the file that the services.udev.extraRules option is implemented in. So presumably you have some services.udev.extraRules that is not syntactically correct.

2 Likes

Thanks for taking the time. The latest extraRules is at the bottom and has been working for a few weeks now. I guess not anymore. I did see something on the nixpkgs repo about changes on how to write proper nix but I haven’t dug further.

services.udev = {
enable = true;
extraRules = ‘’
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION==“add”, SUBSYSTEM==“pci”, ATTR{vendor}==“0x10de”, ATTR{class}==“0x0c0330”, ATTR{power/control}=“auto”, ATTR{remove}=“1”

  # Remove NVIDIA USB Type-C UCSI devices, if present
  ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{power/control}="auto", ATTR{remove}="1"

  # Remove NVIDIA Audio devices, if present
  ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto", ATTR{remove}="1"

  # Remove NVIDIA VGA/3D controller devices
  ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"

  # USB
  ACTION==add"", SUBSYSTEM=="usb", ATTR{power/wakeup}="enabled"

  # Brain Gauge
  SUBSYSTEM=="usb", ATTR{idVendor}=="4444", ATTR{idProduct}=="0005", ATTR{manufacturer}=="Cortical Metrics LLC", ATTR{product}=="Brain Gauge", ACTION=="add", MODE="0666"

'';

};

The quotes are in the wrong place, accidental edit? I’d give a git blame on that line a shot.

1 Like

Well I feel guilty for not catching that lol That has been working for a year probably more. Cheers.