nixos/tuxedo-keyboard: init module.
This commit is contained in:
parent
4cf316f5bd
commit
f2fea8894d
|
@ -960,6 +960,7 @@
|
||||||
blanky0230 = {
|
blanky0230 = {
|
||||||
email = "blanky0230@gmail.com";
|
email = "blanky0230@gmail.com";
|
||||||
github = "blanky0230";
|
github = "blanky0230";
|
||||||
|
githubId = 5700358;
|
||||||
name = "Thomas Blank";
|
name = "Thomas Blank";
|
||||||
};
|
};
|
||||||
blitz = {
|
blitz = {
|
||||||
|
|
35
nixos/modules/hardware/tuxedo-keyboard.nix
Normal file
35
nixos/modules/hardware/tuxedo-keyboard.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -62,6 +62,7 @@
|
||||||
./hardware/printers.nix
|
./hardware/printers.nix
|
||||||
./hardware/raid/hpsa.nix
|
./hardware/raid/hpsa.nix
|
||||||
./hardware/steam-hardware.nix
|
./hardware/steam-hardware.nix
|
||||||
|
./hardware/tuxedo-keyboard.nix
|
||||||
./hardware/usb-wwan.nix
|
./hardware/usb-wwan.nix
|
||||||
./hardware/onlykey.nix
|
./hardware/onlykey.nix
|
||||||
./hardware/video/amdgpu.nix
|
./hardware/video/amdgpu.nix
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{ stdenv, fetchFromGitHub, kernel, kmod }:
|
{ stdenv, fetchFromGitHub, kernel, kmod }:
|
||||||
|
|
||||||
# TODO: look at the other kernel modules packages and see if you find improvements to do
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tuxedo-keyboard-${kernel.version}";
|
pname = "tuxedo-keyboard-${kernel.version}";
|
||||||
version = "2019-08-26";
|
version = "2019-08-26";
|
||||||
|
@ -13,24 +11,18 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1s48qpwybwh5pwqas2d1v2a7x4r97sm4hr9i4902r1d7h384bv17";
|
sha256 = "1s48qpwybwh5pwqas2d1v2a7x4r97sm4hr9i4902r1d7h384bv17";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
mkdir -p $out/build/src
|
|
||||||
cp -r $src/* $out/build
|
|
||||||
'';
|
|
||||||
|
|
||||||
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
|
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/lib/modules/${kernel.modDirVersion}"
|
mkdir -p "$out/lib/modules/${kernel.modDirVersion}"
|
||||||
cp $out/build/src/tuxedo_keyboard.ko $out/lib/modules/${kernel.modDirVersion}
|
mv src/tuxedo_keyboard.ko $out/lib/modules/${kernel.modDirVersion}
|
||||||
rm -rf $out/build
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Full color keyboard driver for tuxedo computers laptops";
|
description = "Full color keyboard driver for tuxedo computers laptops";
|
||||||
homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/";
|
homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
license = licenses.gpl2;
|
||||||
maintainers = [ stdenv.lib.maintainers.blanky0230 ];
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.blanky0230 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -16570,7 +16570,7 @@ in
|
||||||
|
|
||||||
facetimehd = callPackage ../os-specific/linux/facetimehd { };
|
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 { };
|
jool = callPackage ../os-specific/linux/jool { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue