/ modules / nixos / services / keyd.nix
keyd.nix
 1  {
 2    config,
 3    ...
 4  }:
 5  {
 6    services.keyd = {
 7      enable = config.networking.hostName == "framework-desktop";
 8  
 9      keyboards = {
10        default = {
11          ids = [ "*" ];
12          settings = {
13            main = {
14              capslock = "overload(control, esc)";
15              rightalt = "layer(rightalt)";
16            };
17            rightalt = {
18              h = "left";
19              j = "down";
20              k = "up";
21              l = "right";
22            };
23          };
24          extraConfig = ''
25            [control+shift]
26            h = left
27          '';
28        };
29        # externalKeyboard = {
30        #   ids = [ "1ea7:0907" ];
31        #   settings = {
32        #     main = {
33        #       esc = capslock;
34        #     };
35        #   };
36        # };
37      };
38    };
39  }