1{ config, pkgs, lib, ... }: 2 3with lib; 4 5let 6 cfg = config.i18n.inputMethod.uim; 7in 8{ 9 options = { 10 11 i18n.inputMethod.uim = { 12 toolbar = mkOption { 13 type = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt4" ]; 14 default = "gtk"; 15 example = "gtk-systray"; 16 description = '' 17 selected UIM toolbar. 18 ''; 19 }; 20 }; 21 22 }; 23 24 config = mkIf (config.i18n.inputMethod.enabled == "uim") { 25 i18n.inputMethod.package = pkgs.uim; 26 27 environment.variables = { 28 GTK_IM_MODULE = "uim"; 29 QT_IM_MODULE = "uim"; 30 XMODIFIERS = "@im=uim"; 31 }; 32 services.xserver.displayManager.sessionCommands = '' 33 ${pkgs.uim}/bin/uim-xim & 34 ${pkgs.uim}/bin/uim-toolbar-${cfg.toolbar} & 35 ''; 36 }; 37}