diff --git a/machines/thinkman/hardware-configuration.nix b/machines/thinkman/hardware-configuration.nix index 3050bb6..6608449 100644 --- a/machines/thinkman/hardware-configuration.nix +++ b/machines/thinkman/hardware-configuration.nix @@ -7,6 +7,7 @@ services.tlp.enable = true; my.hardware = { + keychron.enable = true; nitrokey.enable = true; sound.enable = true; thunderbolt.enable = true; diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix index 26c115d..94e8f7c 100644 --- a/modules/hardware/default.nix +++ b/modules/hardware/default.nix @@ -3,6 +3,7 @@ { imports = [ + ./keychron ./nitrokey ./sound ./thunderbolt diff --git a/modules/hardware/keychron/default.nix b/modules/hardware/keychron/default.nix new file mode 100644 index 0000000..3f07563 --- /dev/null +++ b/modules/hardware/keychron/default.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.my.hardware.keychron; +in +{ + options.my.hardware.keychron = { + enable = lib.mkEnableOption "keychron configuration"; + }; + + config = lib.mkIf cfg.enable { + services.udev.packages = with pkgs; [ + qmk-udev-rules + via + ]; + + environment.systemPackages = with pkgs; [ + qmk + via + ]; + }; +}