From f25166203a602e26324bbf4689a9f14858c9b8a0 Mon Sep 17 00:00:00 2001 From: blanky0230 Date: Fri, 15 Nov 2019 16:42:35 +0100 Subject: [PATCH 1/3] maintainers: add blanky0230 to maintainers. --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2730218f48f..7e8042292ee 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -957,6 +957,11 @@ githubId = 5718007; name = "Bastian Köcher"; }; + blanky0230 = { + email = "blanky0230@gmail.com"; + github = "blanky0230"; + name = "Thomas Blank"; + }; blitz = { email = "js@alien8.de"; github = "blitz"; From 4cf316f5bd952507e6a7159e4a7b245618aedb5e Mon Sep 17 00:00:00 2001 From: blanky0230 Date: Fri, 15 Nov 2019 16:28:37 +0100 Subject: [PATCH 2/3] tuxedo-keyboard: init at 2019-08-26. --- .../firmware/tuxedo-keyboard/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix diff --git a/pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix b/pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix new file mode 100644 index 00000000000..79586bbe122 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/tuxedo-keyboard/default.nix @@ -0,0 +1,36 @@ +{ 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"; + + src = fetchFromGitHub { + owner = "tuxedocomputers"; + repo = "tuxedo-keyboard"; + 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 + ''; + + meta = { + 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c7753238f29..2faf957dc9a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16570,6 +16570,8 @@ in facetimehd = callPackage ../os-specific/linux/facetimehd { }; + tuxedo-keyboard = callPackage ../os-specific/linux/firmware/tuxedo-keyboard { }; + jool = callPackage ../os-specific/linux/jool { }; mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { }; From f2fea8894dae30ae1cc46c70302a9cc7d54a6ea4 Mon Sep 17 00:00:00 2001 From: blanky0230 Date: Thu, 21 Nov 2019 23:10:41 +0100 Subject: [PATCH 3/3] nixos/tuxedo-keyboard: init module. --- maintainers/maintainer-list.nix | 1 + nixos/modules/hardware/tuxedo-keyboard.nix | 35 +++++++++++++++++++ nixos/modules/module-list.nix | 1 + .../tuxedo-keyboard/default.nix | 18 +++------- pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 nixos/modules/hardware/tuxedo-keyboard.nix rename pkgs/os-specific/linux/{firmware => }/tuxedo-keyboard/default.nix (63%) 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 { };