Fcitx5: Difference between revisions
imported>Tamiyo Created page with "Fcitx5 is a lightweight input method framework with addon support. == Setup == The following is a simple NixOs configuration that'll setup fcitx5, its config tool, and two ad..." |
m Change addon to add-ons for consistency |
||
(19 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
Fcitx5 is a lightweight input method framework with | [https://fcitx-im.org/wiki/Fcitx_5 Fcitx5] is a lightweight input method framework with add-on support. | ||
== | == Installation == | ||
=== System Setup === | |||
The following is a snippet for a NixOS configuration that sets up fcitx5, its GUI config tool, and two add-ons. | |||
{{File|3={ | |||
i18n.inputMethod = { | |||
enable = true; | |||
type = "fcitx5"; | |||
fcitx5.addons = with pkgs; [ | |||
fcitx5-mozc | |||
fcitx5-gtk | |||
]; | |||
}; | |||
}|name=/etc/nixos/configuration.nix|lang=nix}} | |||
== Configuration == | |||
Fcitx5 can be configured declaratively (though this is <strong>optional</strong>) using {{nixos:option|i18n.inputMethod.fcitx5.settings}} or [https://home-manager-options.extranix.com/?query=i18n.inputMethod.fcitx5.settings i18n.inputMethod.fcitx5.settings] ([[Home Manager]]). The former generates a config file in {{ic|/etc/xdg/fcitx5}} and the latter in {{ic|~/.config/fcitx5}}. | |||
It would be easier to edit the Fcitx5 profile through GUI tools (i.e. {{nixos:package|kdePackages.fcitx5-configtool}}) [https://wiki.archlinux.org/title/Fcitx5#Configuration_tool as recommended in Arch Wiki], then convert the generated configuration files to Nix configuration; | |||
* {{ic|cat ~/.config/fcitx5/profile}} (if exists) to {{ic|i18n.inputMethod.fcitx5.settings.inputMethod}} | |||
* {{ic|cat ~/.config/fcitx5/config}} (if exists) to {{ic|i18n.inputMethod.fcitx5.settings.globalOptions}} | |||
{{file|configuration.nix or home.nix|nix|3= | |||
i18n.inputMethod.fcitx5.settings.inputMethod = { | |||
GroupOrder."0" = "Default"; | |||
"Groups/0" = { | |||
Name = "Default"; | |||
"Default Layout" = "jp"; | |||
DefaultIM = "mozc"; | |||
}; | |||
"Groups/0/Items/0".Name = "keyboard-jp"; | |||
"Groups/0/Items/1".Name = "mozc"; | |||
}; | |||
# i18n.inputMethod.fcitx5.settings.globalOptions = { }; | |||
# If not using Home Manager, you may want to ignore your local config at ~/.config/fcitx5 using the following option. | |||
# i18n.inputMethod.fcitx5.ignoreUserConfig = true; | |||
}} | |||
== Troubleshooting == | |||
=== Add-ons Not Detected === | |||
'''Do not''' install fcitx5 using <code>environment.systemPackages</code> can interfere with add-on detection. Make sure to only add fcitx5 to your config as shown in [[Fcitx5#Setup | Setup]]. | |||
[[File:Fcitx5-mozc-load-fail.jpg|thumb|Fcitx5 failing to load IME module (claims "使用不可" (unusable))]] | |||
Another possibility is that you are calling <code>${pkgs.fcitx5}/bin/fcitx5</code> instead of the patched <code>fcitx5-with-addons</code> (<code>/run/current-system/sw/bin/fcitx5</code>). For example in [[Hyprland]]: | |||
# ~/.config/hypr/hyprland.conf | |||
exec-once=fcitx5 -d # not ${pkgs.fcitx5}/bin/fcitx5 ! | |||
=== Fcitx5 Doesn't Start When Using WM === | |||
If using a Window Manager (WM), such as [[Sway]], you may need to add <code>services.xserver.desktopManager.runXdgAutostartIfNone = true;</code> to your NixOS configuration. | |||
=== Using Wayland === | |||
Set boolean <code>i18n.inputMethod.fcitx5.waylandFrontend</code> to true to suppress warnings about environment variables. | |||
For more details on how to correctly set fcitx5 for different compositors and applications, refer to the [https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland fcitx5 wiki]. | |||
[[Category:Applications]] |