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 }