diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 7105bd25..7e7961ce 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -39,6 +39,12 @@ in (import ../../modules/mixins/git.nix { inherit git; }) + (import ../../modules/mixins/kanata.nix { + devices = [ + "/dev/input/event1" + ]; + }) + ../../users/opdavies ./modules/cron.nix diff --git a/modules/mixins/kanata.nix b/modules/mixins/kanata.nix new file mode 100644 index 00000000..edfa25f9 --- /dev/null +++ b/modules/mixins/kanata.nix @@ -0,0 +1,42 @@ +{ devices }: + +{ + services.kanata = { + enable = true; + + keyboards = { + default = { + inherit devices; + + extraDefCfg = "process-unmapped-keys yes"; + + config = '' + (defsrc + caps a s d f j k l ; + ) + + (defvar + tap-time 150 + hold-time 200 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time a lmet) + s (tap-hold $tap-time $hold-time 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 l ralt) + ; (tap-hold $tap-time $hold-time ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; + }; + }; + }; +}