diff --git a/pkgs/misc/rivalcfg/default.nix b/pkgs/misc/rivalcfg/default.nix index e30f27ddec2a..737a3839d7a0 100644 --- a/pkgs/misc/rivalcfg/default.nix +++ b/pkgs/misc/rivalcfg/default.nix @@ -19,20 +19,22 @@ python3Packages.buildPythonPackage rec { # tests are broken doCheck = false; - # this file has to be copied here instead of generated at build time because - # rivalcfg --update-udev will fail if it detects a supported device but cannot - # access it - # it should probably be regenerated on version bumps postInstall = '' set -x mkdir -p $out/lib/udev/rules.d - substitute ${./rival.rules} $out/lib/udev/rules.d/99-rivalcfg.rules --replace MODE=\"0666\" "MODE=\"0664\", GROUP=\"input\"" + tmpl_udev="$out/lib/udev/rules.d/99-rivalcfg.rules" + tmpudev="''${tmpl_udev}.in" + finaludev="$tmpl_udev" + "$out/bin/rivalcfg" --print-udev > "$tmpudev" + substitute "$tmpudev" "$out/lib/udev/rules.d/99-rivalcfg.rules" \ + --replace MODE=\"0666\" "MODE=\"0664\", GROUP=\"input\"" + rm "$tmpudev" ''; meta = with lib; { description = "Utility program that allows you to configure SteelSeries Rival gaming mice"; homepage = "https://github.com/flozz/rivalcfg"; - license = licenses.wtfpl; + license = licenses.wtfpl; maintainers = with maintainers; [ ornxka ]; }; } diff --git a/pkgs/misc/rivalcfg/rival.rules b/pkgs/misc/rivalcfg/rival.rules deleted file mode 100644 index c7c2c8fee589..000000000000 --- a/pkgs/misc/rivalcfg/rival.rules +++ /dev/null @@ -1,242 +0,0 @@ -# Generated by rivalcfg v4.8.0 -# Do not edit this file. It can be regenerated with the following command: -# -# rivalcfg --update-udev - -# SteelSeries Aerox 3 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1836", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1836", MODE="0666" - -# SteelSeries Aerox 3 Wireless (wired mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="183a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="183a", MODE="0666" - -# SteelSeries Aerox 3 Wireless (2.4 GHz wireless mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1838", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1838", MODE="0666" - -# SteelSeries Aerox 5 Wireless (wired mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1854", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1854", MODE="0666" - -# SteelSeries Aerox 5 Wireless (2.4 GHz wireless mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1852", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1852", MODE="0666" - -# SteelSeries Aerox 9 Wireless (wired mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="185a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="185a", MODE="0666" - -# SteelSeries Aerox 9 Wireless (2.4 GHz wireless mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1858", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1858", MODE="0666" - -# SteelSeries Kana v2 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="137a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="137a", MODE="0666" - -# SteelSeries Kinzu v2 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1366", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1366", MODE="0666" - -# SteelSeries Kinzu v2 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1378", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1378", MODE="0666" - -# SteelSeries Prime -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="182e", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="182e", MODE="0666" - -# SteelSeries Prime Rainbow 6 Siege Black Ice Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="182a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="182a", MODE="0666" - -# SteelSeries Prime CS:GO Neo Noir Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1856", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1856", MODE="0666" - -# SteelSeries Prime Wireless (wired mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1842", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1842", MODE="0666" - -# SteelSeries Prime Wireless (2.4 GHz wireless mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1840", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1840", MODE="0666" - -# SteelSeries Rival 3 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1824", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1824", MODE="0666" - -# SteelSeries Rival 3 (firmware v0.37.0.0) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="184c", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="184c", MODE="0666" - -# SteelSeries Rival 3 Wireless (2.4 GHz mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1830", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1830", MODE="0666" - -# SteelSeries Rival 95 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1706", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1706", MODE="0666" - -# SteelSeries Rival 95 MSI Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1707", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1707", MODE="0666" - -# SteelSeries Rival 95 PC Bang -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1704", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1704", MODE="0666" - -# SteelSeries Rival 100 PC Bang -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1708", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1708", MODE="0666" - -# SteelSeries Rival 100 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1702", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1702", MODE="0666" - -# SteelSeries Rival 100 (Dell China) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170a", MODE="0666" - -# SteelSeries Rival 100 Dota 2 Edition (retail) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170b", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170b", MODE="0666" - -# SteelSeries Rival 100 Dota 2 Edition (Lenovo) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170c", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170c", MODE="0666" - -# SteelSeries Rival 105 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1814", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1814", MODE="0666" - -# SteelSeries Rival 110 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1729", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1729", MODE="0666" - -# SteelSeries Rival 106 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1816", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1816", MODE="0666" - -# SteelSeries Rival -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1384", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1384", MODE="0666" - -# SteelSeries Rival Dota 2 Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1392", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1392", MODE="0666" - -# SteelSeries Rival 300 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1710", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1710", MODE="0666" - -# SteelSeries Rival 300 Fallout 4 Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1712", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1712", MODE="0666" - -# SteelSeries Rival 300 Evil Geniuses Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171c", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171c", MODE="0666" - -# SteelSeries Rival 300 CS:GO Fade Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1394", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1394", MODE="0666" - -# SteelSeries Rival 300 CS:GO Hyper Beast Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171a", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171a", MODE="0666" - -# SteelSeries Rival 300 CS:GO Fade Edition (stm32) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1716", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1716", MODE="0666" - -# SteelSeries Rival 300 Acer Predator Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1714", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1714", MODE="0666" - -# SteelSeries Rival 300 HP OMEN Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1718", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1718", MODE="0666" - -# SteelSeries Rival 300S -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1810", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1810", MODE="0666" - -# SteelSeries Rival 310 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1720", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1720", MODE="0666" - -# SteelSeries Rival 310 CS:GO Howl Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171e", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="171e", MODE="0666" - -# SteelSeries Rival 310 PUBG Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1736", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1736", MODE="0666" - -# SteelSeries Rival 500 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170e", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="170e", MODE="0666" - -# SteelSeries Rival 600 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1724", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1724", MODE="0666" - -# SteelSeries Rival 600 Dota 2 Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="172e", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="172e", MODE="0666" - -# SteelSeries Rival 650 Wireless (wired mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="172b", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="172b", MODE="0666" - -# SteelSeries Rival 650 Wireless (2.4 GHz wireless mode) -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1726", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1726", MODE="0666" - -# SteelSeries Rival 700 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1700", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1700", MODE="0666" - -# SteelSeries Rival 710 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1730", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1730", MODE="0666" - -# SteelSeries Sensei 310 -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1722", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1722", MODE="0666" - -# SteelSeries Sensei [RAW] -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1369", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1369", MODE="0666" - -# SteelSeries Sensei [RAW] Diablo III Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1362", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1362", MODE="0666" - -# SteelSeries Sensei [RAW] Guild Wars 2 Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="136d", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="136d", MODE="0666" - -# SteelSeries Sensei [RAW] CoD Black Ops II Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="136f", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="136f", MODE="0666" - -# SteelSeries Sensei [RAW] World of Tanks Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1380", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1380", MODE="0666" - -# SteelSeries Sensei [RAW] Heroes of the Storm Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1390", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1390", MODE="0666" - -# SteelSeries Sensei TEN -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1832", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1832", MODE="0666" - -# SteelSeries Sensei TEN CS:GO Neon Rider Edition -SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1834", MODE="0666" -SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1834", MODE="0666" - -