diff --git a/nixos/modules/hardware/tuxedo-drivers.nix b/nixos/modules/hardware/tuxedo-drivers.nix new file mode 100644 index 000000000000..aa951782dbc0 --- /dev/null +++ b/nixos/modules/hardware/tuxedo-drivers.nix @@ -0,0 +1,35 @@ +{ config, lib, ... }: +let + cfg = config.hardware.tuxedo-drivers; + tuxedo-drivers = config.boot.kernelPackages.tuxedo-drivers; +in +{ + imports = [ + (lib.mkRenamedOptionModule + [ + "hardware" + "tuxedo-keyboard" + ] + [ + "hardware" + "tuxedo-drivers" + ] + ) + ]; + + options.hardware.tuxedo-drivers = { + enable = lib.mkEnableOption '' + The tuxedo-drivers 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-drivers ]; + }; +} diff --git a/nixos/modules/hardware/tuxedo-keyboard.nix b/nixos/modules/hardware/tuxedo-keyboard.nix deleted file mode 100644 index 01ec486fb88f..000000000000 --- 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 e84580f8f0f1..db13b2437505 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -97,7 +97,7 @@ ./hardware/sensor/iio.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix - ./hardware/tuxedo-keyboard.nix + ./hardware/tuxedo-drivers.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 cfdc1c64d118..4ba7825ae8a5 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-drivers.enable = true; systemd = { services.tailord = {