diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 9b5c65aa..9bf9d683 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -19,13 +19,6 @@ ]; features = { - cli = { - kanata.enable = true; - kanata.devices = [ - "/dev/input/by-path/platform-i8042-serio-0-event-kbd" - ]; - }; - desktop = { dwm.enable = true; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index cb3c41c4..f50ffea5 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,7 +4,6 @@ ./dwm ./gitea-actions-runner.nix ./gnupg.nix - ./kanata.nix ./nixpad ./podman.nix ]; diff --git a/modules/nixos/kanata.nix b/modules/nixos/kanata.nix deleted file mode 100644 index dc56a4a6..00000000 --- a/modules/nixos/kanata.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.features.cli.${service}; - service = "kanata"; - - inherit (lib) - mkEnableOption - mkIf - mkOption - types - ; -in -{ - options.features.cli.${service} = { - enable = mkEnableOption "Enable ${service}"; - - devices = mkOption { - default = [ ]; - type = types.listOf types.str; - }; - }; - - config = mkIf cfg.enable { - services.kanata = { - enable = true; - - keyboards = { - default = { - devices = cfg.devices; - - extraDefCfg = "process-unmapped-keys yes"; - - config = '' - (defsrc - caps a s d f j k l ; - ) - - (defvar - tap-time 150 - hold-time 200 - hold-time-slow 300 - ) - - (defalias - escctrl (tap-hold 100 100 esc lctl) - a (tap-hold $tap-time $hold-time-slow a lmet) - s (tap-hold $tap-time $hold-time-slow s lalt) - d (tap-hold $tap-time $hold-time d lsft) - f (tap-hold $tap-time $hold-time f lctl) - j (tap-hold $tap-time $hold-time j rctl) - k (tap-hold $tap-time $hold-time k rsft) - l (tap-hold $tap-time $hold-time-slow l ralt) - ; (tap-hold $tap-time $hold-time-slow ; rmet) - ) - - (deflayer base - @escctrl @a @s @d @f @j @k @l @; - ) - ''; - }; - }; - }; - }; -} diff --git a/modules2/hosts/t480/kanata/devices.nix b/modules2/hosts/t480/kanata/devices.nix new file mode 100644 index 00000000..635656a2 --- /dev/null +++ b/modules2/hosts/t480/kanata/devices.nix @@ -0,0 +1,5 @@ +{ + flake.modules.nixos.pc.services.kanata.devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; +} diff --git a/modules2/hosts/t480/kanata/enable.nix b/modules2/hosts/t480/kanata/enable.nix new file mode 100644 index 00000000..6bb8c1e5 --- /dev/null +++ b/modules2/hosts/t480/kanata/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.kanata.enable = true; +} diff --git a/modules2/kanata/config.nix b/modules2/kanata/config.nix new file mode 100644 index 00000000..bc73ab3e --- /dev/null +++ b/modules2/kanata/config.nix @@ -0,0 +1,29 @@ +{ + flake.modules.nixos.pc.services.kanata.keyboards.default.config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + hold-time-slow 300 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time-slow a lmet) + s (tap-hold $tap-time $hold-time-slow s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time-slow l ralt) + ; (tap-hold $tap-time $hold-time-slow ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; +} diff --git a/modules2/kanata/devices.nix b/modules2/kanata/devices.nix new file mode 100644 index 00000000..42864248 --- /dev/null +++ b/modules2/kanata/devices.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + flake.modules.nixos.pc = + { config, ... }: + { + options.services.kanata.devices = lib.mkOption { + default = [ ]; + type = lib.types.listOf lib.types.str; + }; + + config.services.kanata.keyboards.default.devices = config.services.kanata.devices; + }; +} diff --git a/modules2/kanata/extra-config.nix b/modules2/kanata/extra-config.nix new file mode 100644 index 00000000..b41028a0 --- /dev/null +++ b/modules2/kanata/extra-config.nix @@ -0,0 +1,3 @@ +{ + flake.modules.nixos.pc.services.kanata.keyboards.default.extraDefCfg = "process-unmapped-keys yes"; +}