diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b982d108..d21b3cb1 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1 +1,6 @@ -{ imports = [ ./docker.nix ]; } +{ + imports = [ + ./docker.nix + ./kanata.nix + ]; +} diff --git a/modules/nixos/kanata.nix b/modules/nixos/kanata.nix new file mode 100644 index 00000000..763bcd5d --- /dev/null +++ b/modules/nixos/kanata.nix @@ -0,0 +1,42 @@ +{ + services.kanata = { + enable = true; + + keyboards = { + internalKeyboard = { + devices = [ + "/dev/input/event18" # lemp11 + ]; + + 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 @; + ) + ''; + }; + }; + }; +}