feat(kanata): Include dorvak-programmer layer
This commit is contained in:
parent
54bc3214f2
commit
b0576debca
3 changed files with 82 additions and 54 deletions
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.youthlic.programs.kanata;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
youthlic.programs.kanata = {
|
|
||||||
enable = lib.mkEnableOption "kanata";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
boot.kernelModules = [ "uinput" ];
|
|
||||||
hardware.uinput.enable = true;
|
|
||||||
services.kanata = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.kanata-with-cmd;
|
|
||||||
keyboards.default = {
|
|
||||||
extraDefCfg = ''
|
|
||||||
process-unmapped-keys no
|
|
||||||
'';
|
|
||||||
config =
|
|
||||||
#scheme
|
|
||||||
''
|
|
||||||
#|
|
|
||||||
Kanata
|
|
||||||
|
|
||||||
CapsLock tap to Esc
|
|
||||||
CapsLock hold to Ctrl
|
|
||||||
|#
|
|
||||||
;; default keyboard layout
|
|
||||||
(defsrc
|
|
||||||
caps ;; type → esc, hold caps → ctrl
|
|
||||||
esc ;; type esc → caps, hold esc → esc
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflayer default
|
|
||||||
@cac
|
|
||||||
@esc-behavior
|
|
||||||
)
|
|
||||||
|
|
||||||
(defalias
|
|
||||||
cac (tap-hold 190 190 esc lctrl) ;; hold CapsLock → Esc, press CapsLock → LCtrl
|
|
||||||
esc-behavior (tap-hold 190 190 esc caps) ;; hold Esc → CapsLock, press Esc → Esc
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
31
nixos/modules/programs/kanata/default.nix
Normal file
31
nixos/modules/programs/kanata/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.youthlic.programs.kanata;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
youthlic.programs.kanata = {
|
||||||
|
enable = lib.mkEnableOption "kanata";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
boot.kernelModules = [ "uinput" ];
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
services.kanata = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.kanata-with-cmd;
|
||||||
|
keyboards.default = {
|
||||||
|
extraDefCfg = ''
|
||||||
|
process-unmapped-keys no
|
||||||
|
concurrent-tap-hold yes
|
||||||
|
'';
|
||||||
|
config = builtins.readFile ./kanata.lisp;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
51
nixos/modules/programs/kanata/kanata.lisp
Normal file
51
nixos/modules/programs/kanata/kanata.lisp
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
(defsrc
|
||||||
|
esc f1 f2 f3
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||||
|
q w e r t y u i o p lbrc rbrc bksl
|
||||||
|
caps a s d f g h j k l scln apos
|
||||||
|
lsft z x c v b n m comm Period Slash rsft)
|
||||||
|
|
||||||
|
(deflayer qwerty
|
||||||
|
@esc-behavior @qf1 @df2 @qf3
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||||
|
q w e r t y u i o p lbrc rbrc bksl
|
||||||
|
@cac a s d f g h j k l scln apos
|
||||||
|
lsft z x c v b n m comm Period Slash rsft)
|
||||||
|
|
||||||
|
(deflayer raw-qwerty
|
||||||
|
esc @qf1 @df2 @qf3
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||||
|
q w e r t y u i o p lbrc rbrc bksl
|
||||||
|
caps a s d f g h j k l scln apos
|
||||||
|
lsft z x c v b n m comm Period Slash rsft)
|
||||||
|
|
||||||
|
(deflayer dorvak-programmer
|
||||||
|
@esc-behavior @qf1 @df2 @qf3
|
||||||
|
@dv1-1 @dv1-2 @dv1-3 @dv1-4 @dv1-5 @dv1-6 @dv1-7 @dv1-8 @dv1-9 @dv1-10 @dv1-11 @dv1-12 @dv1-13
|
||||||
|
scln comm Period p y f g c r l Slash @dv2-13 bksl
|
||||||
|
@cac a o e u i d h t n s min
|
||||||
|
lsft apos q j k x b m w v z rsft)
|
||||||
|
|
||||||
|
(defalias
|
||||||
|
cac (tap-hold 190 190 esc lctrl)
|
||||||
|
esc-behavior (tap-hold 190 190 esc caps)
|
||||||
|
|
||||||
|
qf1 (tap-dance 200 (f1 (layer-switch qwerty)))
|
||||||
|
df2 (tap-dance 200 (f2 (layer-switch dorvak-programmer)))
|
||||||
|
qf3 (tap-dance 200 (f3 (layer-switch raw-qwerty)))
|
||||||
|
|
||||||
|
dv1-1 (fork S-4 S-grv (lsft rsft))
|
||||||
|
dv1-2 (fork S-7 S-5 (lsft rsft))
|
||||||
|
dv1-3 (fork (un⇧ lbrc) (un⇧ 7) (lsft rsft))
|
||||||
|
dv1-4 (fork S-lbrc (un⇧ 5) (lsft rsft))
|
||||||
|
dv1-5 (fork S-rbrc (un⇧ 3) (lsft rsft))
|
||||||
|
dv1-6 (fork S-9 (un⇧ 1) (lsft rsft))
|
||||||
|
dv1-7 (fork eql (un⇧ 9) (lsft rsft))
|
||||||
|
dv1-8 (fork S-8 (un⇧ 0) (lsft rsft))
|
||||||
|
dv1-9 (fork S-0 (un⇧ 2) (lsft rsft))
|
||||||
|
dv1-10 (fork S-eql (un⇧ 4) (lsft rsft))
|
||||||
|
dv1-11 (fork (un⇧ rbrc) (un⇧ 6) (lsft rsft))
|
||||||
|
dv1-12 (fork S-1 (un⇧ 8) (lsft rsft))
|
||||||
|
dv1-13 (fork S-3 (un⇧ grv) (lsft rsft))
|
||||||
|
|
||||||
|
dv2-13 (fork S-2 S-6 (lsft rsft)))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue