diff options
Diffstat (limited to 'nixos/modules/services')
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 |