dcgm: 3.3.5 -> 3.3.9; cudaPackages_10{,_0,_1,_2}: drop (#357655)
[NixPkgs.git] / nixos / modules / i18n / input-method / kime.nix
blob78f5698a80545a162145eec1d752aef6449a41c1
1 { config, pkgs, lib, generators, ... }:
2 let
3   imcfg = config.i18n.inputMethod;
4 in {
5   imports = [
6     (lib.mkRemovedOptionModule [ "i18n" "inputMethod" "kime" "config" ] "Use i18n.inputMethod.kime.* instead")
7   ];
9   options.i18n.inputMethod.kime = {
10     daemonModules = lib.mkOption {
11       type = lib.types.listOf (lib.types.enum [ "Xim" "Wayland" "Indicator" ]);
12       default = [ "Xim" "Wayland" "Indicator" ];
13       example = [ "Xim" "Indicator" ];
14       description = ''
15         List of enabled daemon modules
16       '';
17     };
18     iconColor = lib.mkOption {
19       type = lib.types.enum [ "Black" "White" ];
20       default = "Black";
21       example = "White";
22       description = ''
23         Color of the indicator icon
24       '';
25     };
26     extraConfig = lib.mkOption {
27       type = lib.types.lines;
28       default = "";
29       description = ''
30         extra kime configuration. Refer to <https://github.com/Riey/kime/blob/v${pkgs.kime.version}/docs/CONFIGURATION.md> for details on supported values.
31       '';
32     };
33   };
35   config = lib.mkIf (imcfg.enable && imcfg.type == "kime") {
36     i18n.inputMethod.package = pkgs.kime;
38     environment.variables = {
39       GTK_IM_MODULE = "kime";
40       QT_IM_MODULE  = "kime";
41       XMODIFIERS    = "@im=kime";
42     };
44     environment.etc."xdg/kime/config.yaml".text = ''
45       daemon:
46         modules: [${lib.concatStringsSep "," imcfg.kime.daemonModules}]
47       indicator:
48         icon_color: ${imcfg.kime.iconColor}
49     '' + imcfg.kime.extraConfig;
50   };
52   # uses attributes of the linked package
53   meta.buildDocsInSandbox = false;