diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-29 10:59:57 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-29 10:59:57 +0200 |
commit | 00a9fb7587b76b3f86c6515d6bea138a78eac096 (patch) | |
tree | aea91c4bba0b67f204bd26b0f109f958576ba1c2 /modules/by-name/ri/river/module.nix | |
parent | pkgs/river-mk-keymap: Don't emit duplicate key mappings (diff) | |
download | nixos-config-00a9fb7587b76b3f86c6515d6bea138a78eac096.zip |
modules/river: Use the same keymap for both tiamat and apzu
This avoids bit-rot in apzu's key mappings and maybe helps me to actually learn all the possible key mappings.
Diffstat (limited to '')
-rw-r--r-- | modules/by-name/ri/river/module.nix | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix index 38d4bdef..ed7eb363 100644 --- a/modules/by-name/ri/river/module.nix +++ b/modules/by-name/ri/river/module.nix @@ -36,10 +36,21 @@ longRunningPrograms = builtins.concatStringsSep "\n" (builtins.map mkLrProgram cfg.init.backgroundStart); keymapFormat = pkgs.formats.json {}; + keymapGenerate = name: value: + pkgs.runCommandLocal "mk-${name}-and-check" { + nativeBuildInputs = [pkgs.river-mk-keymap]; + preferLocalBuild = true; + + env = { + JSON_FILE = keymapFormat.generate name value; + }; + } '' + river-mk-keymap --keymap "$JSON_FILE" init --dry-run + ''; keymappings = '' err_fail ${riverctl} keyboard-layout ${esa cfg.init.mappings.layout} - err_fail ${lib.getExe pkgs.river-mk-keymap} ${keymapFormat.generate "keys.json" cfg.init.mappings.keymap} + err_fail ${lib.getExe pkgs.river-mk-keymap} ${keymapGenerate "keys.json" cfg.init.mappings.keymap} ''; mkRule = { @@ -175,6 +186,10 @@ in { }; }; + imports = [ + ./keymap.nix + ]; + config = lib.mkIf cfg.enable { services.udev.packages = lib.mkIf cfg.unicodeInput.enable [externalBinaries.qmk_firmware.packages.${system}.qmk_unicode_type]; |