diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 7e8042292ee..2798a6c0f8e 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -960,6 +960,7 @@
blanky0230 = {
email = "blanky0230@gmail.com";
github = "blanky0230";
+ githubId = 5700358;
name = "Thomas Blank";
};
blitz = {
diff --git a/nixos/modules/hardware/tuxedo-keyboard.nix b/nixos/modules/hardware/tuxedo-keyboard.nix
new file mode 100644
index 00000000000..898eed24493
--- /dev/null
+++ b/nixos/modules/hardware/tuxedo-keyboard.nix
@@ -0,0 +1,35 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.hardware.tuxedo-keyboard;
+ tuxedo-keyboard = config.boot.kernelPackages.tuxedo-keyboard;
+in
+ {
+ options.hardware.tuxedo-keyboard = {
+ enable = mkEnableOption ''
+ Enables the tuxedo-keyboard driver.
+
+ To configure the driver, pass the options to the configuration.
+ There are several parameters you can change. It's best to check at the source code description which options are supported.
+ You can find all the supported parameters at:
+
+ In order to use the custom lighting with the maximumg brightness and a color of 0xff0a0a one would put pass like this:
+
+
+ boot.kernelParams = [
+ "tuxedo_keyboard.mode=0"
+ "tuxedo_keyboard.brightness=255"
+ "tuxedo_keyboard.color_left=0xff0a0a"
+ ];
+
+ '';
+ };
+
+ config = mkIf cfg.enable
+ {
+ boot.kernelModules = ["tuxedo_keyboard"];
+ boot.extraModulePackages = [ tuxedo-keyboard ];
+ };
+ }
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index eadf1d2d89b..8953ec03948 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -62,6 +62,7 @@
./hardware/printers.nix
./hardware/raid/hpsa.nix
./hardware/steam-hardware.nix
+ ./hardware/tuxedo-keyboard.nix
./hardware/usb-wwan.nix
./hardware/onlykey.nix
./hardware/video/amdgpu.nix
diff --git a/pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
similarity index 63%
rename from pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix
rename to pkgs/os-specific/linux/tuxedo-keyboard/default.nix
index 79586bbe122..b67bf2d3dab 100644
--- a/pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix
+++ b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
@@ -1,7 +1,5 @@
{ stdenv, fetchFromGitHub, kernel, kmod }:
-# TODO: look at the other kernel modules packages and see if you find improvements to do
-
stdenv.mkDerivation rec {
pname = "tuxedo-keyboard-${kernel.version}";
version = "2019-08-26";
@@ -12,25 +10,19 @@ stdenv.mkDerivation rec {
rev = "d65e76e84cfd8169591fc2a0a7c9219fa19da1b5";
sha256 = "1s48qpwybwh5pwqas2d1v2a7x4r97sm4hr9i4902r1d7h384bv17";
};
-
-
- unpackPhase = ''
- mkdir -p $out/build/src
- cp -r $src/* $out/build
- '';
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
installPhase = ''
mkdir -p "$out/lib/modules/${kernel.modDirVersion}"
- cp $out/build/src/tuxedo_keyboard.ko $out/lib/modules/${kernel.modDirVersion}
- rm -rf $out/build
+ mv src/tuxedo_keyboard.ko $out/lib/modules/${kernel.modDirVersion}
'';
- meta = {
+ meta = with stdenv.lib; {
description = "Full color keyboard driver for tuxedo computers laptops";
homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/";
- platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.blanky0230 ];
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.blanky0230 ];
};
}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2faf957dc9a..397612f7a53 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -16570,7 +16570,7 @@ in
facetimehd = callPackage ../os-specific/linux/facetimehd { };
- tuxedo-keyboard = callPackage ../os-specific/linux/firmware/tuxedo-keyboard { };
+ tuxedo-keyboard = callPackage ../os-specific/linux/tuxedo-keyboard { };
jool = callPackage ../os-specific/linux/jool { };