Files
nixos-config/modules/user/japanese/default.nix

122 lines
2.9 KiB
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.userSettings.japanese;
in {
options = {
userSettings.japanese = {
enable = lib.mkEnableOption "Enable Japanese input";
};
};
config = lib.mkIf cfg.enable {
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
home.file.".config/fcitx5/config".text = ''
[Hotkey]
# Enumerate when press trigger key repeatedly
EnumerateWithTriggerKeys=True
# Temporally switch between first and current Input Method
AltTriggerKeys=
# Enumerate Input Method Forward
EnumerateForwardKeys=
# Enumerate Input Method Backward
EnumerateBackwardKeys=
# Skip first input method while enumerating
EnumerateSkipFirst=False
# Toggle embedded preedit
TogglePreedit=
[Hotkey/TriggerKeys]
0=Super+comma
[Hotkey/EnumerateGroupForwardKeys]
0=Super+space
[Hotkey/EnumerateGroupBackwardKeys]
0=Shift+Super+space
[Hotkey/ActivateKeys]
0=Hangul_Hanja
[Hotkey/DeactivateKeys]
0=Hangul_Romaja
[Hotkey/PrevPage]
0=Up
[Hotkey/NextPage]
0=Down
[Hotkey/PrevCandidate]
0=Shift+Tab
[Hotkey/NextCandidate]
0=Tab
[Behavior]
# Active By Default
ActiveByDefault=False
# Share Input State
ShareInputState=No
# Show preedit in application
PreeditEnabledByDefault=True
# Show Input Method Information when switch input method
ShowInputMethodInformation=True
# Show Input Method Information when changing focus
showInputMethodInformationWhenFocusIn=False
# Show compact input method information
CompactInputMethodInformation=True
# Show first input method information
ShowFirstInputMethodInformation=True
# Default page size
DefaultPageSize=5
# Override Xkb Option
OverrideXkbOption=False
# Custom Xkb Option
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
# Force Disabled Addons
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
# Allow input method in the password field
AllowInputMethodForPassword=False
# Show preedit text when typing password
ShowPreeditForPassword=False
# Interval of saving user data in minutes
AutoSavePeriod=30
'';
# home.file.".config/fcitx5/profile".text = ''
# [Groups/0]
# # Group Name
# Name=Default
# # Layout
# Default Layout=us
# # Default Input Method
# DefaultIM=mozc
#
# [Groups/0/Items/0]
# # Name
# Name=keyboard-us
# # Layout
# Layout=
#
# [Groups/0/Items/1]
# # Name
# Name=mozc
# # Layout
# Layout=
#
# [GroupOrder]
# 0=Default
# '';
};
}