summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorTristan Helmich <tristan.helmich@gmail.com>2017-01-30 14:03:42 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2017-02-01 22:37:04 +0100
commit24f3abdafbf0a4840d63baa91e60ba34fad00d4d (patch)
treedb148df8263adb08d53587245bed5fad827934a5 /nixos
parent29844c66fa43dcb8d28d3e5f814505cad562f75e (diff)
downloadnixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar.gz
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar.bz2
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar.lz
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar.xz
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.tar.zst
nixpkgs-24f3abdafbf0a4840d63baa91e60ba34fad00d4d.zip
Revert "Make services.xserver.xkbDir conflict free when overriden."
This reverts commit 82bcfef109ecf58ac1503e4cab15ae53dd524f4b.

cc @nbp

Fixes #22290, #22352.

Signed-off-by: Franz Pletz <fpletz@fnordicwalking.de>
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde4.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix5
-rw-r--r--nixos/modules/services/x11/xserver.nix24
4 files changed, 28 insertions, 11 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 615504bab15..7ea8b30d23d 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -64,7 +64,10 @@ in
 
     security.setuidPrograms = [ "e_freqset" ];
 
-    services.xserver.exportConfiguration = true;
+    environment.etc = singleton
+      { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
 
     fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix
index b551432bc27..3aa4821a052 100644
--- a/nixos/modules/services/x11/desktop-managers/kde4.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde4.nix
@@ -183,7 +183,10 @@ in
       GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
     };
 
-    services.xserver.exportConfiguration = true;
+    environment.etc = singleton
+      { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
 
     # Enable helpful DBus services.
     services.udisks2.enable = true;
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
index ec85cf1d0bd..8f081a1e9d2 100644
--- a/nixos/modules/services/x11/desktop-managers/kde5.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -199,7 +199,10 @@ in
 
       environment.pathsToLink = [ "/share" ];
 
-      services.xserver.exportConfiguration = true;
+      environment.etc = singleton {
+        source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
 
       environment.variables =
         {
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 8617a5fab03..f5ed5233818 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -465,15 +465,23 @@ in
         }
       ];
 
-    environment.etc = mkMerge [
-      (mkIf cfg.exportConfiguration {
-        "X11/xorg.conf".source = configFile;
-        "X11/xkb".source = cfg.xkbDir;
-      })
+    environment.etc =
+      (optionals cfg.exportConfiguration
+        [ { source = "${configFile}";
+            target = "X11/xorg.conf";
+          }
+          # -xkbdir command line option does not seems to be passed to xkbcomp.
+          { source = "${cfg.xkbDir}";
+            target = "X11/xkb";
+          }
+        ])
       # Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5
-      (let cfgPath = "X11/xorg.conf.d/10-evdev.conf"; in
-        { "${cfgPath}".source = xorg.xf86inputevdev.out + "/share" + cfgPath; })
-    ];
+      ++ (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in
+        [{
+          source = xorg.xf86inputevdev.out + "/share" + cfgPath;
+          target = cfgPath;
+        }]
+      );
 
     environment.systemPackages =
       [ xorg.xorgserver.out