pkgs: {
  i18n.inputMethod = {
    enable = true;
    type = "fcitx5";
    fcitx5 = {
      addons = with pkgs; [ fcitx5-skk catppuccin-fcitx5 ];
      waylandFrontend = true;
      settings.addons = {
        classicui.globalSection = let
          font = "PlemolJP35 Console NF";
          font-size = "10";
          f = a: "${font} ${a} ${font-size}";
        in {
          Font = f "Text";
          MenuFont = f "Text";
          TrayFont = f "SemiBold";
          Theme = "catppuccin-mocha-blue";
        };
        skk.globalSection = {
          Rule = "azik-sticky-shift";
          PunctuationStyle = "Japanese";
          InitialInputMode = "Latin";
          CandidateChooseKey = "Qwerty Center Row (a,s,d,...)";
        };
        xim.globalSection = {
          UseOnTheSpot = "True";
        };
      };
      settings.inputMethod = {
        GroupOrder."0" = "skk";
        "Groups/0" = {
          Name = "Default";
          "Default Layout" = "us";
          DefaultIM = "skk";
        };
        "Groups/0/Items/0" = {
          Name = "skk";
          Layout = "";
        };
      };
    };
  };

  xdg.configFile."libskk/rules/azik-sticky-shift".source = ./azik-sticky-shift;
}