From e820173a124c2d72a541824ad352bac2f2581192 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Mon, 31 Mar 2025 11:04:54 +0200 Subject: [PATCH] kanata: add graphite --- modules/services/kanata/main.kbd | 49 ++++++++++++++++++++++++++++++ modules/services/kanata/module.nix | 13 ++++++++ 2 files changed, 62 insertions(+) create mode 100644 modules/services/kanata/main.kbd create mode 100644 modules/services/kanata/module.nix diff --git a/modules/services/kanata/main.kbd b/modules/services/kanata/main.kbd new file mode 100644 index 0000000..0b4dbc5 --- /dev/null +++ b/modules/services/kanata/main.kbd @@ -0,0 +1,49 @@ +(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 rmet comp rctl +) + +(deflayer qwerty + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] + @esc a s d f g h j k l ; ' \ ret + lsft < z x c v b n m , . / rsft + @lay lmet lalt spc ralt rmet comp rctl +) + + +(deflayer graphite + Backquote 1 2 3 4 5 6 7 8 9 0 [ ] bspc + tab b l d w z ' f o u j ; = + @esc n r t s g y h a e i , \ ret + lsft < q x m c v k p . - / rsft + @lay lmet lalt spc ralt rmet comp rctl +) + +;; (deflayer graphite-2 +;; grv ! @ # $ % ^ & * S-9 S-0 { } bspc +;; tab B L D W Z _ F O U J : + +;; caps N R T S G Y H A E I ? | ret +;; lsft < Q X M C V K P > apo < rsft +;; lctl lmet lalt spc ralt rmet comp rctl +;; ) + +(deflayer layouts + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ @qwe _ _ _ _ _ _ _ _ _ _ _ + caps _ _ _ _ @gra _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ +) + +(defalias + esc (tap-hold-release 200 200 esc lctl) +;; spc (tap-hold-release 200 200 spc @sym) + qwe (layer-switch qwerty) + gra (layer-switch graphite) +;; la1 (layer-toggle graphite-2) + lay (layer-toggle layouts) +) diff --git a/modules/services/kanata/module.nix b/modules/services/kanata/module.nix new file mode 100644 index 0000000..8b3c748 --- /dev/null +++ b/modules/services/kanata/module.nix @@ -0,0 +1,13 @@ +{ + ... +}: +{ + services.kanata = { + enable = true; + + keyboards.daskeyboard = { + devices = ["/dev/input/by-id/usb-Metadot_-_Das_Keyboard_Das_Keyboard-event-kbd"]; + config = builtins.readFile (./. + "/main.kbd"); + }; + }; +}