summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2016-02-26 18:07:29 -0600
committerThomas Tuegel <ttuegel@gmail.com>2016-02-26 18:08:48 -0600
commitd30a1284677ebf2d74e00591811fb2a1b74f13d4 (patch)
treec09a8c8d207bfaf7c7b3da39872fba3ea7f3ebe6 /nixos/modules
parentcb10990fdc2f1b671390a2f1b1b11b3362dd9f1d (diff)
downloadnixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar.gz
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar.bz2
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar.lz
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar.xz
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.tar.zst
nixlib-d30a1284677ebf2d74e00591811fb2a1b74f13d4.zip
ibus: rewrite NixOS module
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/i18n/inputMethod/ibus.nix20
1 files changed, 14 insertions, 6 deletions
diff --git a/nixos/modules/i18n/inputMethod/ibus.nix b/nixos/modules/i18n/inputMethod/ibus.nix
index 86059751a3d2..5d01311c91bd 100644
--- a/nixos/modules/i18n/inputMethod/ibus.nix
+++ b/nixos/modules/i18n/inputMethod/ibus.nix
@@ -9,6 +9,17 @@ let
     name  = "ibus-engine";
     check = x: (lib.types.package.check x) && (attrByPath ["meta" "isIbusEngine"] false x);
   };
+
+  ibusAutostart = pkgs.writeTextFile {
+    name = "autostart-ibus-daemon";
+    destination = "/etc/xdg/autostart/ibus-daemon.desktop";
+    text = ''
+      [Desktop Entry]
+      Name=IBus
+      Type=Application
+      Exec=${ibusPackage}/bin/ibus-daemon -dx
+    '';
+  };
 in
 {
   options = {
@@ -27,17 +38,14 @@ in
 
   config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
     # Without dconf enabled it is impossible to use IBus
-    environment.systemPackages = [ ibusPackage pkgs.gnome3.dconf ];
-
-    gtkPlugins = [ pkgs.ibus ];
-    qtPlugins  = [ pkgs.ibus-qt ];
+    environment.systemPackages = with pkgs; [
+      ibusPackage ibus-qt gnome3.dconf ibusAutostart
+    ];
 
     environment.variables = {
       GTK_IM_MODULE = "ibus";
       QT_IM_MODULE = "ibus";
       XMODIFIERS = "@im=ibus";
     };
-
-    services.xserver.displayManager.sessionCommands = "${ibusPackage}/bin/ibus-daemon --daemonize --xim --cache=none";
   };
 }