From fa639a16c8ba2e185e7ac7668dda566ee49803c0 Mon Sep 17 00:00:00 2001 From: "Jan B." Date: Sat, 21 Sep 2024 20:33:53 +0200 Subject: [PATCH] nixos/tuxedo-driver: init --- nixos/modules/hardware/tuxedo-driver.nix | 35 +++++++++++++++++++ nixos/modules/hardware/tuxedo-keyboard.nix | 32 ----------------- nixos/modules/module-list.nix | 2 +- nixos/modules/services/hardware/tuxedo-rs.nix | 2 +- 4 files changed, 37 insertions(+), 34 deletions(-) create mode 100644 nixos/modules/hardware/tuxedo-driver.nix delete mode 100644 nixos/modules/hardware/tuxedo-keyboard.nix diff --git a/nixos/modules/hardware/tuxedo-driver.nix b/nixos/modules/hardware/tuxedo-driver.nix new file mode 100644 index 000000000000000..1494aefac00a84e --- /dev/null +++ b/nixos/modules/hardware/tuxedo-driver.nix @@ -0,0 +1,35 @@ +{ config, lib, ... }: +let + cfg = config.hardware.tuxedo-driver; + tuxedo-driver = config.boot.kernelPackages.tuxedo-driver; +in +{ + imports = [ + (lib.mkRenamedOptionModule + [ + "hardware" + "tuxedo-keyboard" + ] + [ + "hardware" + "tuxedo-driver" + ] + ) + ]; + + options.hardware.tuxedo-driver = { + enable = lib.mkEnableOption '' + The tuxedo-driver driver enables access to the following on TUXEDO notebooks: + - Driver for Fn-keys + - SysFS control of brightness/color/mode for most TUXEDO keyboards + - Hardware I/O driver for TUXEDO Control Center + + For more inforation it is best to check at the source code description: + ''; + }; + + config = lib.mkIf cfg.enable { + boot.kernelModules = [ "tuxedo_keyboard" ]; + boot.extraModulePackages = [ tuxedo-driver ]; + }; +} diff --git a/nixos/modules/hardware/tuxedo-keyboard.nix b/nixos/modules/hardware/tuxedo-keyboard.nix deleted file mode 100644 index 01ec486fb88fca9..000000000000000 --- a/nixos/modules/hardware/tuxedo-keyboard.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.hardware.tuxedo-keyboard; - tuxedo-keyboard = config.boot.kernelPackages.tuxedo-keyboard; -in - { - options.hardware.tuxedo-keyboard = { - enable = lib.mkEnableOption '' - the tuxedo-keyboard driver. - - To configure the driver, pass the options to the {option}`boot.kernelParams` 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 {option}`boot.kernelParams` like this: - - ``` - boot.kernelParams = [ - "tuxedo_keyboard.mode=0" - "tuxedo_keyboard.brightness=255" - "tuxedo_keyboard.color_left=0xff0a0a" - ]; - ``` - ''; - }; - - config = lib.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 97ea85cfb89acf6..375e9af64fc03f2 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -98,7 +98,7 @@ ./hardware/sensor/iio.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix - ./hardware/tuxedo-keyboard.nix + ./hardware/tuxedo-driver.nix ./hardware/ubertooth.nix ./hardware/uinput.nix ./hardware/uni-sync.nix diff --git a/nixos/modules/services/hardware/tuxedo-rs.nix b/nixos/modules/services/hardware/tuxedo-rs.nix index cfdc1c64d1183d3..1b8f0814d75e779 100644 --- a/nixos/modules/services/hardware/tuxedo-rs.nix +++ b/nixos/modules/services/hardware/tuxedo-rs.nix @@ -14,7 +14,7 @@ in config = lib.mkIf cfg.enable (lib.mkMerge [ { - hardware.tuxedo-keyboard.enable = true; + hardware.tuxedo-driver.enable = true; systemd = { services.tailord = {