nix/modules/keyd.nix

75 lines
1.4 KiB
Nix

{ pkgs, ... }:
let
nav = {
h = "left";
j = "down";
k = "up";
l = "right";
"0" = "home";
"4" = "end";
u = "pageup";
d = "pagedown";
q = "previoussong";
w = "playpause";
e = "nextsong";
};
alt = {
a = "ä";
o = "ö";
u = "ü";
s = "ß";
e = "";
};
altShift = {
a = "Ä";
o = "Ö";
u = "Ü";
};
in
{
environment.systemPackages = with pkgs; [
keyd
];
# Enable keyd and remap keys
services.keyd = {
enable = true;
keyboards.default = {
ids = [
"*"
"-04fe:0020" # HHKB
"-046d:102a" # Logitech G700s
"-046d:c07c" # Logitech G700s Rechargeable Gaming Mouse
];
settings = {
main = {
leftalt = "layer(meta)";
leftmeta = "layer(alt)";
altgr = "layer(control)";
rightalt = "layer(control)";
capslock = "layer(nav)";
};
alt = alt;
"alt+shift" = altShift;
meta = {
capslock = "overload(nav, capslock)";
};
nav = nav;
};
};
keyboards.hhkb = {
ids = [ "04fe:0020" ];
settings = {
main = {
rightmeta = "layer(control)";
leftcontrol = "layer(nav)";
};
alt = alt;
"alt+shift" = altShift;
meta = {
leftcontrol = "overload(nav, capslock)";
};
nav = nav;
};
};
};
}