about summary refs log tree commit diff
path: root/modules/keyd-qol.nix
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2023-08-22 22:45:57 +0900
committersefidel <contact@sefidel.net>2023-08-22 22:45:57 +0900
commitd0c6a1b4b49128dd20d4919c98616f0061cbc2ed (patch)
tree785b2230cec01e9392a1a3b097ae7dec0d2ffe57 /modules/keyd-qol.nix
parentffb90b9e874e4cca5ea03c4c9f242b5c7dba6d1c (diff)
downloadnixrc-d0c6a1b4b49128dd20d4919c98616f0061cbc2ed.tar.gz
nixrc-d0c6a1b4b49128dd20d4919c98616f0061cbc2ed.zip
chore!: use keyd to manage key remaps
Diffstat (limited to 'modules/keyd-qol.nix')
-rw-r--r--modules/keyd-qol.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/keyd-qol.nix b/modules/keyd-qol.nix
new file mode 100644
index 0000000..e163286
--- /dev/null
+++ b/modules/keyd-qol.nix
@@ -0,0 +1,36 @@
+{ config, pkgs, unstable, unstable-small, nixpkgs-2211, lib, ... }:
+
+{
+  options.services.keyd-qol.enable = lib.mkEnableOption "keyd service for quality-of-life improvements";
+
+  config = lib.mkIf config.services.keyd-qol.enable {
+    services.keyd.enable = true;
+
+    services.keyd.keyboards = {
+      default = {
+        ids = [ "*" ];
+        settings = {
+          main = {
+            capslock = "overload(control, esc)";
+
+            insert = "S-insert";
+          };
+        };
+      };
+
+      sun = {
+        ids = [
+          # HHKB Hybrid
+          "04fe:0021"
+        ];
+        settings = {
+          main = {
+            control = "overload(control, esc)";
+
+            insert = "S-insert";
+          };
+        };
+      };
+    };
+  };
+}