From 1fbcf1809c1dac54602546d8d321b7d87cc3eda5 Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Mon, 8 Dec 2025 16:05:30 +0100 Subject: [PATCH] feat(keyd): setup keyd and some keybindings. --- modules/linux/nixos/default.nix | 2 ++ modules/linux/nixos/keyd.nix | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 modules/linux/nixos/keyd.nix diff --git a/modules/linux/nixos/default.nix b/modules/linux/nixos/default.nix index fc66e83..390bb1d 100644 --- a/modules/linux/nixos/default.nix +++ b/modules/linux/nixos/default.nix @@ -27,6 +27,7 @@ ./oom.nix ./boot.nix ./kanata.nix + ./keyd.nix ]; crony.bluetooth.enable = lib.mkDefault true; @@ -56,4 +57,5 @@ crony.oom.enable = lib.mkDefault true; crony.boot.enable = lib.mkDefault false; crony.kanata.enable = lib.mkDefault false; + crony.keyd.enable = lib.mkDefault true; } diff --git a/modules/linux/nixos/keyd.nix b/modules/linux/nixos/keyd.nix new file mode 100644 index 0000000..891a037 --- /dev/null +++ b/modules/linux/nixos/keyd.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + ... +}: { + options = { + crony.keyd.enable = lib.mkEnableOption "Enable and setup keyd layers"; + }; + + config = lib.mkIf config.crony.keyd.enable { + services.keyd = { + enable = true; + keyboards.default = { + ids = ["*"]; + settings = { + main = { + capslock = "overload(control, esc)"; + esc = "capslock"; + }; + }; + }; + }; + }; +}