diff --git a/nixos/modules/i18n/input-method/fcitx5.nix b/nixos/modules/i18n/input-method/fcitx5.nix index 44962d202fe..eecbe32fea4 100644 --- a/nixos/modules/i18n/input-method/fcitx5.nix +++ b/nixos/modules/i18n/input-method/fcitx5.nix @@ -6,28 +6,33 @@ let im = config.i18n.inputMethod; cfg = im.fcitx5; fcitx5Package = pkgs.fcitx5-with-addons.override { inherit (cfg) addons; }; -in - { - options = { - i18n.inputMethod.fcitx5 = { - addons = mkOption { - type = with types; listOf package; - default = []; - example = with pkgs; [ fcitx5-rime ]; - description = '' - Enabled Fcitx5 addons. - ''; - }; +in { + options = { + i18n.inputMethod.fcitx5 = { + addons = mkOption { + type = with types; listOf package; + default = []; + example = with pkgs; [ fcitx5-rime ]; + description = '' + Enabled Fcitx5 addons. + ''; }; }; + }; - config = mkIf (im.enabled == "fcitx5") { - i18n.inputMethod.package = fcitx5Package; + config = mkIf (im.enabled == "fcitx5") { + i18n.inputMethod.package = fcitx5Package; - environment.variables = { - GTK_IM_MODULE = "fcitx"; - QT_IM_MODULE = "fcitx"; - XMODIFIERS = "@im=fcitx"; - }; + environment.variables = { + GTK_IM_MODULE = "fcitx"; + QT_IM_MODULE = "fcitx"; + XMODIFIERS = "@im=fcitx"; }; - } + + systemd.user.services.fcitx5-daemon = { + enable = true; + script = "${fcitx5Package}/bin/fcitx5"; + wantedBy = [ "graphical-session.target" ]; + }; + }; +}