diff --git a/pkgs/tools/system/cm-rgb/default.nix b/pkgs/tools/system/cm-rgb/default.nix new file mode 100644 index 000000000000..acfe440b5d5c --- /dev/null +++ b/pkgs/tools/system/cm-rgb/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, buildPythonApplication +, fetchFromGitHub +, atk +, gobject-introspection +, wrapGAppsHook +, click +, hidapi +, psutil +, pygobject3 +}: + +buildPythonApplication rec { + pname = "cm-rgb"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "gfduszynski"; + repo = pname; + rev = "v${version}"; + sha256 = "04brldaa2zpvzkcg43i5hpbj03d1nqrgiplm5nh4shn12cif19ag"; + }; + + nativeBuildInputs = [ + atk + + # Populate GI_TYPELIB_PATH + gobject-introspection + wrapGAppsHook + ]; + + propagatedBuildInputs = [ + click + hidapi + psutil + pygobject3 + ]; + + postInstall = '' + # Remove this line when/if this PR gets merged: + # https://github.com/gfduszynski/cm-rgb/pull/43 + install -m0755 scripts/cm-rgb-gui $out/bin/cm-rgb-gui + + mkdir -p $out/etc/udev/rules.d + echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2516", ATTR{idProduct}=="0051", TAG+="uaccess"' \ + > $out/etc/udev/rules.d/60-cm-rgb.rules + ''; + + meta = with stdenv.lib; { + description = "Control AMD Wraith Prism RGB LEDs"; + longDescription = '' + cm-rgb controls AMD Wraith Prism RGB LEDS. + + To permit non-root accounts to change use this utility on + NixOS, add this package to services.udev.packages + in configuration.nix. + ''; + homepage = "https://github.com/gfduszynski/cm-rgb"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ danieldk ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c987ff00083..4ba74b4ae62f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16874,6 +16874,8 @@ in cifs-utils = callPackage ../os-specific/linux/cifs-utils { }; + cm-rgb = python3Packages.callPackage ../tools/system/cm-rgb { }; + cpustat = callPackage ../os-specific/linux/cpustat { }; cockroachdb = callPackage ../servers/sql/cockroachdb { };