enable kanata service
This commit is contained in:
parent
28a56195be
commit
ce9d950e88
3 changed files with 54 additions and 0 deletions
|
|
@ -30,6 +30,7 @@
|
|||
openssh.enable = true;
|
||||
steam.enable = true;
|
||||
tailscale.enable = true;
|
||||
kanata.enable = true;
|
||||
};
|
||||
gui.enabled = "cosmic";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
./gui
|
||||
./steam.nix
|
||||
./tailscale.nix
|
||||
./kanata.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
|
|
|
|||
52
nixos/modules/kanata.nix
Normal file
52
nixos/modules/kanata.nix
Normal 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
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue