ibus: add ibusEngine type and nest panel option
the panel option was outside of the 'i18n.inputMethod.ibus' option
This commit is contained in:
parent
6303bd7085
commit
def6605523
|
@ -6,6 +6,12 @@ let
|
||||||
im = config.i18n.inputMethod;
|
im = config.i18n.inputMethod;
|
||||||
cfg = im.ibus;
|
cfg = im.ibus;
|
||||||
impanel = optionalString (cfg.panel != null) "--panel=${cfg.panel}";
|
impanel = optionalString (cfg.panel != null) "--panel=${cfg.panel}";
|
||||||
|
ibusEngine = types.package // {
|
||||||
|
name = "ibus-engine";
|
||||||
|
check = x:
|
||||||
|
(lib.types.package.check x)
|
||||||
|
&& (attrByPath [ "meta" "isIbusEngine" ] false x);
|
||||||
|
};
|
||||||
ibusPackage = pkgs.ibus-with-plugins.override { inherit (cfg) engines; };
|
ibusPackage = pkgs.ibus-with-plugins.override { inherit (cfg) engines; };
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
|
@ -18,7 +24,6 @@ in {
|
||||||
Enabled IBus engines.
|
Enabled IBus engines.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
|
||||||
panel = mkOption {
|
panel = mkOption {
|
||||||
type = with types; nullOr path;
|
type = with types; nullOr path;
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -29,6 +34,7 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf (im.enabled == "ibus") {
|
config = mkIf (im.enabled == "ibus") {
|
||||||
i18n.inputMethod.package = ibusPackage;
|
i18n.inputMethod.package = ibusPackage;
|
||||||
|
|
Loading…
Reference in a new issue