Merge pull request #140309 from OPNA2608/init/gkraken/21.11

This commit is contained in:
Sandro 2021-10-24 18:28:57 +02:00 committed by GitHub
commit 062469fd09
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 107 additions and 0 deletions

View file

@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.gkraken;
in
{
options.hardware.gkraken = {
enable = mkEnableOption "gkraken's udev rules for NZXT AIO liquid coolers";
};
config = mkIf cfg.enable {
services.udev.packages = with pkgs; [
gkraken
];
};
}

View file

@ -48,6 +48,7 @@
./hardware/corectrl.nix
./hardware/digitalbitbox.nix
./hardware/device-tree.nix
./hardware/gkraken.nix
./hardware/i2c.nix
./hardware/sensor/hddtemp.nix
./hardware/sensor/iio.nix

View file

@ -0,0 +1,86 @@
{ python3Packages
, lib
, fetchFromGitLab
, meson
, pkg-config
, glib
, ninja
, desktop-file-utils
, gobject-introspection
, gtk3
, libnotify
, dbus
, wrapGAppsHook
}:
python3Packages.buildPythonApplication rec {
pname = "gkraken";
version = "1.1.6";
src = fetchFromGitLab {
owner = "leinardi";
repo = "gkraken";
rev = version;
sha256 = "085zz6m7c3xzsrvkw50gbbz8l9fmswxj2hjya2f52dvgs8daijdy";
};
format = "other";
postPatch = ''
patchShebangs scripts/meson_post_install.py
'';
nativeBuildInputs = [
meson
pkg-config
glib
ninja
gtk3
desktop-file-utils
wrapGAppsHook
];
buildInputs = [
gobject-introspection
glib
gtk3
libnotify
dbus
];
propagatedBuildInputs = with python3Packages; [
pygobject3
peewee
rx
injector
liquidctl
pyxdg
requests
matplotlib
dbus-python
];
dontWrapGApps = true;
# Extract udev rules from python code
postInstall = ''
mkdir -p $out/lib/udev/rules.d
sed -e '/\s*\(from\|@singleton\|@inject\)/d' $src/gkraken/interactor/udev_interactor.py > udev_interactor.py
python -c 'from udev_interactor import _UDEV_RULE; print(_UDEV_RULE)' > $out/lib/udev/rules.d/60-gkraken.rules
'';
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
)
'';
meta = with lib; {
description = "GUI that allows to control the cooling (fan and/or pump profiles) of NZXT Kraken AIO liquid coolers from Linux";
homepage = "https://gitlab.com/leinardi/gkraken";
changelog = "https://gitlab.com/leinardi/gkraken/-/tags/${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
};
}

View file

@ -5972,6 +5972,8 @@ with pkgs;
gbenchmark = callPackage ../development/libraries/gbenchmark {};
gkraken = callPackage ../tools/system/gkraken { };
gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
gtklick = callPackage ../applications/audio/gtklick {};