ibus: add ibusEngine type and nest panel option

the panel option was outside of the 'i18n.inputMethod.ibus' option
This commit is contained in:
nyadiia 2024-04-23 13:46:54 -05:00
parent 6303bd7085
commit def6605523
No known key found for this signature in database
GPG key ID: 229718FDC160E880

View file

@ -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;