vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / i18n / input-method / uim.nix
blob7517dead6b054c9b2c441894c848de382a577991
1 { config, pkgs, lib, ... }:
3 with lib;
5 let
6   imcfg = config.i18n.inputMethod;
7   cfg = imcfg.uim;
8 in
10   options = {
12     i18n.inputMethod.uim = {
13       toolbar = mkOption {
14         type    = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt5" ];
15         default = "gtk";
16         example = "gtk-systray";
17         description = ''
18           selected UIM toolbar.
19         '';
20       };
21     };
23   };
25   config = mkIf (imcfg.enable && imcfg.type == "uim") {
26     i18n.inputMethod.package = pkgs.uim;
28     environment.variables = {
29       GTK_IM_MODULE = "uim";
30       QT_IM_MODULE  = "uim";
31       XMODIFIERS    = "@im=uim";
32     };
33     services.xserver.displayManager.sessionCommands = ''
34       ${pkgs.uim}/bin/uim-xim &
35       ${pkgs.uim}/bin/uim-toolbar-${cfg.toolbar} &
36     '';
37   };