From fc2e9f450010a47cc59f69d7a543345d5c9cfab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Wed, 16 Oct 2024 14:01:55 +0200 Subject: [PATCH] feat: add tarmak layout --- hosts/nixos-work/default.nix | 83 ++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/hosts/nixos-work/default.nix b/hosts/nixos-work/default.nix index 0a44dbd..015e95c 100644 --- a/hosts/nixos-work/default.nix +++ b/hosts/nixos-work/default.nix @@ -79,6 +79,89 @@ hardware.bluetooth.enable = true; + services.kanata = { + enable = true; + keyboards = { + laptop = { + devices = [ + "/dev/input/by-path/platform-i8042-serio-0-event-kbd" + ]; + config = " + (defsrc + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + caps a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet lalt spc ralt rctl + ) + + (deflayermap (default) + ;; tarmak 1a + j n + n k + k e + + ;; tarmak 1b + h m + m h + + ;; tarmak 2a + b z + z x + x c + + ;; tarmak 2b + e f + f t + t b + + ;; tarmak 3 + c d + d s + s r + + ;; tarmak 4 + r p + p ; + ; o + o y + y j + + ;; tarmak 5 + u l + l i + i u + + ;; caps-word tap-dance + lsft (tap-dance 200 (_ (caps-word 2000) _ _)) + + ;; change ctrl alt and meta + lctl lalt + lmet lctl + lalt (tap-dance 200 (lmet (multi lmet alt) lmet lmet)) + + ;; hjkl layer + ralt (tap-hold 200 200 (layer-switch hjkl) (layer-while-held hjkl)) ;; tap: switch hold: switch while held + + ;; switch to normal keyboard layout + rctl (layer-switch normal) + ) + + (deflayermap (normal) + rctl (layer-switch default)) + + (deflayermap (hjkl) + h left + j down + k up + l right + + ralt (layer-switch default)) + "; + }; + }; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true;