nixos-config/modules/kanata/default.nix

65 lines
3 KiB
Nix
Raw Normal View History

2023-05-17 08:06:05 +02:00
{ config, lib, ... }:
with lib;
let
cfg = config.eboskma.kanata;
in
{
options.eboskma.kanata = {
enable = mkEnableOption "kanata";
devices = mkOption {
description = "Devices to enable kanata for";
type = types.listOf types.path;
};
};
config = mkIf cfg.enable {
services.kanata = {
enable = true;
keyboards = {
ducky = {
devices = cfg.devices;
config = ''
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc scrlck pp calc mute voldwn volu
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ del end pgdn kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' ret kp4 kp5 kp6
2023-10-14 16:56:18 +02:00
lshift z x c v b n m , . / rshift up kp1 kp2 kp3 kprt
2024-11-27 09:16:07 +01:00
lctrl lmeta lalt spc ralt rmeta rctrl lft down rght kp0 kp.)
2023-05-17 08:06:05 +02:00
(deflayer colemak
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @qwe pp calc mute voldwn volu
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w f p g j l u y ; [ ] \ del end pgdn kp7 kp8 kp9 kp+
@cap a r s t d h n e i o ' ret kp4 kp5 kp6
2023-10-14 16:56:18 +02:00
lshift z x c v b k m , . / rshift up kp1 kp2 kp3 kprt
2024-11-27 09:16:07 +01:00
lctrl lmeta lalt spc ralt rmeta rctrl lft down rght kp0 kp.)
2023-05-17 08:06:05 +02:00
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc @col pp calc mute voldwn volu
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ del end pgdn kp7 kp8 kp9 kp+
@cap a s d f g h j k l ; ' ret kp4 kp5 kp6
2023-10-14 16:56:18 +02:00
lshift z x c v b n m , . / rshift up kp1 kp2 kp3 kprt
2024-11-27 09:16:07 +01:00
lctrl lmeta lalt spc ralt rmeta rctrl lft down rght kp0 kp.)
2023-05-17 08:06:05 +02:00
(defalias
2023-10-14 16:56:18 +02:00
cap (tap-hold 100 100 bspc lctrl)
2023-05-17 08:06:05 +02:00
col (layer-switch colemak)
qwe (layer-switch qwerty)
)
'';
2024-11-27 09:16:07 +01:00
extraDefCfg = ''
process-unmapped-keys yes
;; This is added in 1.7.0-prerelease-2
;; allow-hardware-repeat no
'';
2023-05-17 08:06:05 +02:00
};
};
};
};
}