at 22.05-pre 1.2 kB view raw
1{ config, pkgs, lib, generators, ... }: 2with lib; 3let 4 cfg = config.i18n.inputMethod.kime; 5 yamlFormat = pkgs.formats.yaml { }; 6in 7{ 8 options = { 9 i18n.inputMethod.kime = { 10 config = mkOption { 11 type = yamlFormat.type; 12 default = { }; 13 example = literalExpression '' 14 { 15 daemon = { 16 modules = ["Xim" "Indicator"]; 17 }; 18 19 indicator = { 20 icon_color = "White"; 21 }; 22 23 engine = { 24 hangul = { 25 layout = "dubeolsik"; 26 }; 27 }; 28 } 29 ''; 30 description = '' 31 kime configuration. Refer to <link xlink:href="https://github.com/Riey/kime/blob/v${pkgs.kime.version}/docs/CONFIGURATION.md"/> for details on supported values. 32 ''; 33 }; 34 }; 35 }; 36 37 config = mkIf (config.i18n.inputMethod.enabled == "kime") { 38 i18n.inputMethod.package = pkgs.kime; 39 40 environment.variables = { 41 GTK_IM_MODULE = "kime"; 42 QT_IM_MODULE = "kime"; 43 XMODIFIERS = "@im=kime"; 44 }; 45 46 environment.etc."xdg/kime/config.yaml".text = replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg.config); 47 }; 48} 49