From 018417a52c3312f7e6de536f62de571d827a28ff Mon Sep 17 00:00:00 2001 From: Peter Tillemans Date: Thu, 14 Aug 2025 22:44:13 +0200 Subject: [PATCH] update guix stuff --- snamellit/common.scm | 13 +- snamellit/packages/offlineimap.scm | 28 +++ snamellit/packages/rivalcfg.scm | 346 +++++++++++++++++++++++++++++ 3 files changed, 386 insertions(+), 1 deletion(-) create mode 100644 snamellit/packages/offlineimap.scm create mode 100644 snamellit/packages/rivalcfg.scm diff --git a/snamellit/common.scm b/snamellit/common.scm index 34420ca..31e6071 100644 --- a/snamellit/common.scm +++ b/snamellit/common.scm @@ -15,7 +15,9 @@ #:use-module (gnu home services xdg) #:use-module (gnu packages algebra) #:use-module (gnu packages aspell) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages cmake) #:use-module (gnu packages curl) #:use-module (gnu packages commencement) #:use-module (gnu packages compression) @@ -42,6 +44,7 @@ #:use-module (gnu packages node) #:use-module (gnu packages package-management) #:use-module (gnu packages password-utils) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages rsync) #:use-module (gnu packages rust-apps) @@ -93,7 +96,6 @@ password-store pass-otp bc - texlive rsync curl yq @@ -106,6 +108,11 @@ gnu-make glibc-locales gcc-toolchain + cmake + autoconf + automake + pkg-config + guile-3.0 guile-colorized @@ -118,6 +125,8 @@ node-lts ; emacs startup relies on node being present pandoc ; for org-mode export and markdown plantuml ; for org-mode plantuml export + texlive ; for org-latex support + vault ; hashicorp vault )) @@ -174,6 +183,8 @@ libadwaita gobject-introspection + zlib ; ubiquitous used so file + ;; emacs support emacs aspell diff --git a/snamellit/packages/offlineimap.scm b/snamellit/packages/offlineimap.scm new file mode 100644 index 0000000..03bcd75 --- /dev/null +++ b/snamellit/packages/offlineimap.scm @@ -0,0 +1,28 @@ +(define-module (snamellit packages offlineimap) + #:use-module (gnu packages mail) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (srfi srfi-1)) + + +(define-public my-offlineimap + (let ((commit "4c64d72882925238c94047120314a0a3209364d0") + (revision "0")) + (package + (inherit offlineimap) + (name "my-offlineimap") + (version (git-version "8.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OfflineIMAP/offlineimap3") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j9135rb4rcmqvp3fnaqsznjpmn8ry878p0q714impgp20whw8jx"))))) + + )) + +my-offlineimap diff --git a/snamellit/packages/rivalcfg.scm b/snamellit/packages/rivalcfg.scm new file mode 100644 index 0000000..2cbf665 --- /dev/null +++ b/snamellit/packages/rivalcfg.scm @@ -0,0 +1,346 @@ +(define-module (snamellit packages rivalcfg)) +(use-modules + (gnu packages check) + (gnu packages compression) + (gnu packages libusb) + (gnu packages python) + (gnu packages python-build) + (gnu packages python-xyz) + (gnu packages python-check) + (gnu packages sphinx) + (guix packages) + (guix download) + (guix build-system python) + (guix build-system pyproject) + (ice-9 textual-ports)) + + +(define rivalcfg-rules "# Generated by rivalcfg v4.15.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 +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1850\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1850\", 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 Destiny 2 Edition (wired mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185e\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185e\", MODE=\"0666\" + +# SteelSeries Aerox 5 Wireless Diablo IV Edition (wired mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1862\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1862\", 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 5 Wireless Destiny 2 Edition (2.4 GHz wireless mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185c\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185c\", MODE=\"0666\" + +# SteelSeries Aerox 5 Wireless Diablo IV Edition (2.4 GHz wireless mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1860\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1860\", 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 WOW Edition (wired mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1876\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1876\", 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 Aerox 9 Wireless WOW Edition (2.4 GHz wireless mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1874\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1874\", 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 Mini +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184d\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184d\", 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 Mini Wireless (wired mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184a\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184a\", 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 Prime Mini Wireless (2.4 GHz wireless mode) +SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1848\", MODE=\"0666\" +SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1848\", 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\" + + +") + +(define-public python-rivalcfg + (package + (name "python-rivalcfg") + (version "4.15.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rivalcfg" version)) + (sha256 + (base32 "1i91r9xafhki985316m5dn5hcv6zl3scm025rklgxgndrphbwwrr")))) + (build-system pyproject-build-system) + (arguments + `(#:phases + (modify-phases + %standard-phases + (add-before 'check 'set-env + (lambda* _ + (setenv "RIVALCFG_DRY" "1"))) + (add-after 'unpack 'install-udev-rules + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (rulesdir (string-append outdir "/lib/udev/rules.d")) + (rulesfile (string-append rulesdir "/99-steelseries-rival.rules"))) + (format #t "rulesdir: ~A~%" rulesdir) + (format #t "current dir: ~A~%" (getcwd)) + (mkdir-p rulesdir) + (call-with-output-file rulesfile + (lambda (f) + (format f "~a" ,rivalcfg-rules))) + )))))) + (propagated-inputs (list python-hidapi python-setuptools libusb zlib)) + (native-inputs (list python + python-black + python-flake8 + python-nox + python-pytest + python-sphinx + python-sphinx-rtd-theme + python-wheel)) + (home-page "https://github.com/flozz/rivalcfg") + (synopsis "Configure SteelSeries gaming mice") + (description "Configure @code{SteelSeries} gaming mice.") + (license #f))) + +python-rivalcfg