Add kanata
This commit is contained in:
parent
58fa90edb8
commit
99180536b1
2 changed files with 58 additions and 0 deletions
|
|
@ -15,6 +15,7 @@
|
|||
libvirt.enable = true;
|
||||
languagetool.enable = true;
|
||||
work-proxy.enable = true;
|
||||
kanata.enable = true;
|
||||
};
|
||||
media = {
|
||||
mpd.enable = true;
|
||||
|
|
|
|||
57
modules/services/kanata.nix
Normal file
57
modules/services/kanata.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.modules.services.kanata;
|
||||
in
|
||||
{
|
||||
options.modules.services.kanata = {
|
||||
enable = lib.my.mkBoolOpt false;
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
keyboards.laptop.config = ''
|
||||
;; QWERTY-shaped matrix; works for AZERTY because Kanata uses scancodes.
|
||||
(defsrc
|
||||
esc 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 rctl
|
||||
)
|
||||
|
||||
(defvar
|
||||
tap-time 150
|
||||
hold-time 200
|
||||
)
|
||||
|
||||
;; Home-row mod-taps (tap sends the letter; hold sends the modifier)
|
||||
(defalias
|
||||
a-alt (tap-hold $tap-time $hold-time a lalt)
|
||||
s-ctl (tap-hold $tap-time $hold-time s lctl)
|
||||
d-sft (tap-hold $tap-time $hold-time d lsft)
|
||||
f-met (tap-hold $tap-time $hold-time f lmet)
|
||||
|
||||
j-met (tap-hold $tap-time $hold-time j rmet)
|
||||
k-sft (tap-hold $tap-time $hold-time k rsft)
|
||||
l-ctl (tap-hold $tap-time $hold-time l rctl)
|
||||
;-alt (tap-hold $tap-time $hold-time ; ralt)
|
||||
)
|
||||
|
||||
(deflayer main
|
||||
esc 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w e r t y u i o p [ ] \
|
||||
caps @a-alt @s-ctl @d-sft @f-met g h @j-met @k-sft @l-ctl @;-alt ' ret
|
||||
lsft z x c v b n m , . / rsft
|
||||
lctl lmet lalt spc ralt rmet rctl
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue