enable kanata service

This commit is contained in:
ulic-youthlic 2025-01-17 19:48:43 +08:00
parent 28a56195be
commit ce9d950e88
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
3 changed files with 54 additions and 0 deletions

View file

@ -30,6 +30,7 @@
openssh.enable = true;
steam.enable = true;
tailscale.enable = true;
kanata.enable = true;
};
gui.enabled = "cosmic";
};

View file

@ -24,6 +24,7 @@
./gui
./steam.nix
./tailscale.nix
./kanata.nix
];
config = {

52
nixos/modules/kanata.nix Normal file
View file

@ -0,0 +1,52 @@
{
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 = ''
#|
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 caps esc) ;; hold Esc CapsLock, press Esc Esc
)
'';
};
};
};
}