commit
d760d9cccc
40
nixos/modules/hardware/ckb.nix
Normal file
40
nixos/modules/hardware/ckb.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.hardware.ckb;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.hardware.ckb = {
|
||||||
|
enable = mkEnableOption "the Corsair keyboard/mouse driver";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.ckb;
|
||||||
|
defaultText = "pkgs.ckb";
|
||||||
|
description = ''
|
||||||
|
The package implementing the Corsair keyboard/mouse driver.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
|
systemd.services.ckb = {
|
||||||
|
description = "Corsair Keyboard Daemon";
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
script = "${cfg.package}/bin/ckb-daemon";
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = "always";
|
||||||
|
StandardOutput = "syslog";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ kierdavis ];
|
||||||
|
};
|
||||||
|
}
|
12
pkgs/tools/misc/ckb/ckb-animations-location.patch
Normal file
12
pkgs/tools/misc/ckb/ckb-animations-location.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/src/ckb/animscript.cpp b/src/ckb/animscript.cpp
|
||||||
|
index d0b7f46..d7a3459 100644
|
||||||
|
--- a/src/ckb/animscript.cpp
|
||||||
|
+++ b/src/ckb/animscript.cpp
|
||||||
|
@@ -30,7 +30,7 @@ QString AnimScript::path(){
|
||||||
|
#ifdef __APPLE__
|
||||||
|
return QDir(QApplication::applicationDirPath() + "/../Resources").absoluteFilePath("ckb-animations");
|
||||||
|
#else
|
||||||
|
- return QDir(QApplication::applicationDirPath()).absoluteFilePath("ckb-animations");
|
||||||
|
+ return QDir(QApplication::applicationDirPath() + "/../libexec").absoluteFilePath("ckb-animations");
|
||||||
|
#endif
|
||||||
|
}
|
43
pkgs/tools/misc/ckb/default.nix
Normal file
43
pkgs/tools/misc/ckb/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, libudev, pkgconfig, qtbase, qmakeHook, zlib }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.2.6";
|
||||||
|
name = "ckb-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ccMSC";
|
||||||
|
repo = "ckb";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "04h50qdzsbi77mj62jghr52i35vxvmhnvsb7pdfdq95ryry8bnwm";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libudev
|
||||||
|
qtbase
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
|
qmakeHook
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./ckb-animations-location.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D --mode 0755 --target-directory $out/bin bin/ckb-daemon bin/ckb
|
||||||
|
install -D --mode 0755 --target-directory $out/libexec/ckb-animations bin/ckb-animations/*
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Driver and configuration tool for Corsair keyboards and mice";
|
||||||
|
homepage = https://github.com/ccMSC/ckb;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ kierdavis ];
|
||||||
|
};
|
||||||
|
}
|
@ -1262,6 +1262,8 @@ in
|
|||||||
|
|
||||||
cloud-utils = callPackage ../tools/misc/cloud-utils { };
|
cloud-utils = callPackage ../tools/misc/cloud-utils { };
|
||||||
|
|
||||||
|
ckb = qt5.callPackage ../tools/misc/ckb { };
|
||||||
|
|
||||||
compass = callPackage ../development/tools/compass { };
|
compass = callPackage ../development/tools/compass { };
|
||||||
|
|
||||||
convmv = callPackage ../tools/misc/convmv { };
|
convmv = callPackage ../tools/misc/convmv { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user