{ inputs, pkgs, ... }: { services.hazkey = { enable = true; server.package = inputs.nix-hazkey.packages.${pkgs.stdenv.hostPlatform.system}.hazkey-server.override { enableVulkan = true; }; }; i18n.inputMethod = { enable = true; type = "fcitx5"; fcitx5 = { waylandFrontend = true; addons = with pkgs; [ fcitx5-gtk kdePackages.fcitx5-qt qt6Packages.fcitx5-configtool ]; settings = { inputMethod = { GroupOrder."0" = "Default"; "Groups/0" = { Name = "Default"; "Default Layout" = "jp"; DefaultIM = "hazkey"; }; "Groups/0/Items/0" = { Name = "keyboard-jp"; }; "Groups/0/Items/1" = { Name = "hazkey"; }; }; globalOptions = { Hotkey = { EnumerateWithTriggerKeys = false; EnumerateSkipFirst = false; ModifierOnlyKeyTimeout = 250; }; "Hotkey/TriggerKeys"."1" = "Zenkaku_Hankaku"; "Hotkey/ActivateKeys"."0" = "Henkan"; "Hotkey/DeactivateKeys"."0" = "Muhenkan"; "Hotkey/PrevPage"."0" = "Up"; "Hotkey/NextPage"."0" = "Down"; "Hotkey/PrevCandidate"."0" = "Shift+Tab"; "Hotkey/NextCandidate"."0" = "Tab"; "Hotkey/TogglePreedit"."0" = "Control+Alt+P"; Behavior = { ActiveByDefault = false; resetStateWhenFocusIn = "No"; ShareInputState = "No"; PreeditEnabledByDefault = true; ShowInputMethodInformation = true; showInputMethodInformationWhenFocusIn = false; CompactInputMethodInformation = true; ShowFirstInputMethodInformation = true; DefaultPageSize = 5; OverrideXkbOption = false; CustomXkbOption = ""; EnabledAddons = ""; DisabledAddons = ""; PreloadInputMethod = true; AllowInputMethodForPassword = false; ShowPreeditForPassword = false; AutoSavePeriod = 30; }; }; }; }; }; }