nixos/tuxedo-keyboard: init module.

This commit is contained in:
blanky0230 2019-11-21 23:10:41 +01:00
parent 4cf316f5bd
commit f2fea8894d
5 changed files with 43 additions and 14 deletions

View file

@ -960,6 +960,7 @@
blanky0230 = {
email = "blanky0230@gmail.com";
github = "blanky0230";
githubId = 5700358;
name = "Thomas Blank";
};
blitz = {

View file

@ -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 <option>boot.kernelParams</option> 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: <link xlink:href="https://github.com/tuxedocomputers/tuxedo-keyboard#kernelparam" />
In order to use the <literal>custom</literal> lighting with the maximumg brightness and a color of <literal>0xff0a0a</literal> one would put pass <option>boot.kernelParams</option> like this:
<programlisting>
boot.kernelParams = [
"tuxedo_keyboard.mode=0"
"tuxedo_keyboard.brightness=255"
"tuxedo_keyboard.color_left=0xff0a0a"
];
</programlisting>
'';
};
config = mkIf cfg.enable
{
boot.kernelModules = ["tuxedo_keyboard"];
boot.extraModulePackages = [ tuxedo-keyboard ];
};
}

View file

@ -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

View file

@ -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 ];
};
}

View file

@ -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 { };