From 82bcfef109ecf58ac1503e4cab15ae53dd524f4b Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Sat, 14 Jan 2017 17:47:43 +0000 Subject: Make services.xserver.xkbDir conflict free when overriden. --- .../x11/desktop-managers/enlightenment.nix | 5 +---- .../modules/services/x11/desktop-managers/kde4.nix | 5 +---- .../modules/services/x11/desktop-managers/kde5.nix | 5 +---- nixos/modules/services/x11/xserver.nix | 24 ++++++++-------------- 4 files changed, 11 insertions(+), 28 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 7ea8b30d23d1..615504bab15f 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -64,10 +64,7 @@ in security.setuidPrograms = [ "e_freqset" ]; - environment.etc = singleton - { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; 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 3aa4821a0521..b551432bc27a 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -183,10 +183,7 @@ in GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ]; }; - environment.etc = singleton - { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; # 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 8f081a1e9d2a..ec85cf1d0bdc 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -199,10 +199,7 @@ in environment.pathsToLink = [ "/share" ]; - environment.etc = singleton { - source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; environment.variables = { diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index f5ed52338182..8617a5fab03f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -465,23 +465,15 @@ in } ]; - 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"; - } - ]) + environment.etc = mkMerge [ + (mkIf cfg.exportConfiguration { + "X11/xorg.conf".source = configFile; + "X11/xkb".source = cfg.xkbDir; + }) # 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 - [{ - source = xorg.xf86inputevdev.out + "/share" + cfgPath; - target = cfgPath; - }] - ); + (let cfgPath = "X11/xorg.conf.d/10-evdev.conf"; in + { "${cfgPath}".source = xorg.xf86inputevdev.out + "/share" + cfgPath; }) + ]; environment.systemPackages = [ xorg.xorgserver.out -- cgit 1.4.1