From 0f06a86b1eaa99ff21cdce8c5f1c54b688cbbcf6 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 1 Aug 2024 10:48:06 +0200 Subject: ... --- modules/ibus.nix | 79 -------------------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 modules/ibus.nix (limited to 'modules/ibus.nix') diff --git a/modules/ibus.nix b/modules/ibus.nix deleted file mode 100644 index bb9b3765..00000000 --- a/modules/ibus.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.i18n.inputMethod.ibus; - ibusPackage = pkgs.ibus-with-plugins.override { plugins = cfg.engines; }; - ibusEngine = types.package // { - name = "ibus-engine"; - check = x: (lib.types.package.check x) && (attrByPath ["meta" "isIbusEngine"] false x); - }; -in -{ - disabledModules = [ "i18n/input-method/ibus.nix" ]; - - imports = [ - (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ]) - ]; - - options = { - i18n.inputMethod.ibus = { - engines = mkOption { - type = with types; listOf ibusEngine; - default = []; - example = literalExpression "with pkgs.ibus-engines; [ mozc hangul ]"; - description = - let - enginesDrv = filterAttrs (const isDerivation) pkgs.ibus-engines; - engines = concatStringsSep ", " - (map (name: "${name}") (attrNames enginesDrv)); - in - "Enabled IBus engines. Available engines are: ${engines}."; - }; - panel = mkOption { - type = with types; nullOr path; - default = null; - example = literalExpression ''"''${pkgs.plasma5Packages.plasma-desktop}/lib/libexec/kimpanel-ibus-panel"''; - description = "Replace the IBus panel with another panel."; - }; - }; - }; - - config = mkIf (config.i18n.inputMethod.enabled == "ibus") { - i18n.inputMethod.package = ibusPackage; - - # Without dconf enabled it is impossible to use IBus - programs.dconf.enable = true; - - programs.dconf.packages = [ ibusPackage ]; - - environment.variables = { - GTK_IM_MODULE = "ibus"; - QT_IM_MODULE = "ibus"; - XMODIFIERS = "@im=ibus"; - }; - - xdg.portal.extraPortals = mkIf config.xdg.portal.enable [ - ibusPackage - ]; - - systemd.user.services.ibus = { - description = "Intelligent Input Bus"; - documentation = ["man:ibus-daemon(1)"]; - after = ["graphical-session-pre.target"]; - wantedBy = ["graphical-session.target"]; - - serviceConfig = { - Type = "dbus"; - BusName = "org.freedesktop.IBus"; - ExecStart = "${ibusPackage}/bin/ibus-daemon --xim ${optionalString (cfg.panel != null) "--panel ${cfg.panel}"}"; - ExecReload = "${ibusPackage}/bin/ibus restart"; - ExecStop = "${ibusPackage}/bin/ibus exit"; - }; - }; - }; - - # uses attributes of the linked package - meta.buildDocsInSandbox = false; -} -- cgit v1.2.3