From 788f60631959447d08634bd34da305a554f6e948 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Fri, 22 May 2026 14:48:14 +0800 Subject: [PATCH] feat: Add virtual kbd device of kanata for qemu capture --- nixos/configurations/Tytonidae/default.nix | 1 - nixos/configurations/Tytonidae/kanata.nix | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 nixos/configurations/Tytonidae/kanata.nix diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index 1ad1efd..93e82e4 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -64,7 +64,6 @@ openssh.enable = true; steam.enable = true; tailscale.enable = true; - kanata.enable = true; transmission.enable = true; nix-ld.enable = true; juicity.client.enable = true; diff --git a/nixos/configurations/Tytonidae/kanata.nix b/nixos/configurations/Tytonidae/kanata.nix new file mode 100644 index 0000000..53510b1 --- /dev/null +++ b/nixos/configurations/Tytonidae/kanata.nix @@ -0,0 +1,20 @@ +{lib, ...}: { + youthlic.programs.kanata.enable = true; + services = { + udev.extraRules = '' + KERNEL=="event*", ATTRS{name}=="kanata-virtual-kbd", SYMLINK+="input/kanata-kbd" + ''; + kanata.keyboards.default = { + devices = [ + "/dev/input/by-id/usb-RDR_Crush_80-event-kbd" + ]; + extraDefCfg = '' + linux-output-device-name "kanata-virtual-kbd" + ''; + }; + }; + systemd.services.kanata-default.serviceConfig = { + PrivateUsers = lib.mkForce false; + DynamicUser = lib.mkForce false; + }; +}