diff options
author | Eric Sagnes <eric.sagnes@gmail.com> | 2016-04-04 18:11:20 +0900 |
---|---|---|
committer | Eric Sagnes <eric.sagnes@gmail.com> | 2016-04-16 17:51:32 +0900 |
commit | cfe062f2b6e3c75a68f69104a1f87180004f1341 (patch) | |
tree | fe1c1ff4b12cdba4bfb2884e68a631f5b54e342a /nixos/modules/i18n/input-method/default.nix | |
parent | 3e2318ec3ecff70e1583ad5717f26f91ecdda952 (diff) | |
download | nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar.gz nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar.bz2 nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar.lz nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar.xz nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.tar.zst nixpkgs-cfe062f2b6e3c75a68f69104a1f87180004f1341.zip |
input methods: fix gtk cache
Diffstat (limited to 'nixos/modules/i18n/input-method/default.nix')
-rw-r--r-- | nixos/modules/i18n/input-method/default.nix | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix index 7e6a25bfb08..5d57a7f9966 100644 --- a/nixos/modules/i18n/input-method/default.nix +++ b/nixos/modules/i18n/input-method/default.nix @@ -1,10 +1,32 @@ { config, pkgs, lib, ... }: with lib; - +let + cfg = config.i18n.inputMethod; + gtk2_cache = pkgs.stdenv.mkDerivation { + preferLocalBuild = true; + allowSubstitutes = false; + name = "gtk2-immodule.cache"; + buildInputs = [ pkgs.gtk cfg.package ]; + buildCommand = '' + mkdir -p $out/etc/gtk-2.0/ + GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache + ''; + }; + gtk3_cache = pkgs.stdenv.mkDerivation { + preferLocalBuild = true; + allowSubstitutes = false; + name = "gtk3-immodule.cache"; + buildInputs = [ pkgs.gtk3 cfg.package ]; + buildCommand = '' + mkdir -p $out/etc/gtk-3.0/ + GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache + ''; + }; +in { - options = { - i18n.inputMethod = { + options.i18n = { + inputMethod = { enabled = mkOption { type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]); default = null; @@ -24,6 +46,20 @@ with lib; </itemizedlist> ''; }; + + package = mkOption { + internal = true; + type = types.path; + default = null; + description = '' + The input method method package. + ''; + }; }; }; + + config = mkIf (cfg.enabled != null) { + environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ]; + }; + } |