meta(nix): Replace inline YAML with builtins.toJSON

This commit is contained in:
Donovan Glover 2024-04-02 16:31:23 -04:00
parent fa98ead7ea
commit 42bcd16f65
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65

View File

@ -5,34 +5,51 @@
enable = true;
plugins = with pkgs.interception-tools-plugins; [ dual-function-keys ];
udevmonConfig = with pkgs; /* yaml */ ''
- JOB: "${interception-tools}/bin/intercept -g $DEVNODE | ${interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c /etc/dual-function-keys.yaml | ${interception-tools}/bin/uinput -d $DEVNODE"
DEVICE:
EVENTS:
EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
'';
udevmonConfig = with pkgs; builtins.toJSON [
{
JOB = "${interception-tools}/bin/intercept -g $DEVNODE | ${interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c /etc/dual-function-keys.yaml | ${interception-tools}/bin/uinput -d $DEVNODE";
DEVICE = {
EVENTS = {
EV_KEY = [ "KEY_CAPSLOCK" "KEY_ESC" ];
};
};
}
];
};
environment.etc."dual-function-keys.yaml".text = /* yaml */ ''
TIMING:
- TAP_MILLISEC: 1000
- DOUBLE_TAP_MILLISEC: 0
- SYNTHETIC_KEYS_PAUSE_MILLISEC: 0
MAPPINGS:
- KEY: KEY_CAPSLOCK
TAP: KEY_ESC
HOLD: KEY_LEFTCTRL
- KEY: KEY_SYSRQ
TAP: KEY_SYSRQ
HOLD: KEY_RIGHTMETA
- KEY: KEY_LEFTMETA
TAP: [ KEY_LEFTMETA, KEY_F1 ]
HOLD: KEY_LEFTMETA
- KEY: KEY_RIGHTSHIFT
TAP: [ KEY_LEFTMETA, KEY_F2 ]
HOLD: KEY_RIGHTSHIFT
- KEY: KEY_RIGHTALT
TAP: KEY_GRAVE
HOLD: KEY_RIGHTALT
'';
environment.etc."dual-function-keys.yaml".text = builtins.toJSON {
TIMING = [
{ TAP_MILLISEC = 1000; }
{ DOUBLE_TAP_MILLISEC = 0; }
{ SYNTHETIC_KEYS_PAUSE_MILLISEC = 0; }
];
MAPPINGS = [
{
KEY = "KEY_CAPSLOCK";
TAP = "KEY_ESC";
HOLD = "KEY_LEFTCTRL";
}
{
KEY = "KEY_SYSRQ";
TAP = "KEY_SYSRQ";
HOLD = "KEY_RIGHTMETA";
}
{
KEY = "KEY_LEFTMETA";
TAP = [ "KEY_LEFTMETA" "KEY_F1" ];
HOLD = "KEY_LEFTMETA";
}
{
KEY = "KEY_RIGHTSHIFT";
TAP = [ "KEY_LEFTMETA" "KEY_F2" ];
HOLD = "KEY_RIGHTSHIFT";
}
{
KEY = "KEY_RIGHTALT";
TAP = "KEY_GRAVE";
HOLD = "KEY_RIGHTALT";
}
];
};
}