summary refs log tree commit diff
path: root/nixos/modules/services/x11/xserver.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-04-01 10:49:31 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-04-01 10:49:31 +0200
commit6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1 (patch)
tree805de8caf7c5bbb5fca8dea93c139cdbd679aff6 /nixos/modules/services/x11/xserver.nix
parent71982ab7083dfd39a344adbb83eedb4d12acbad5 (diff)
parent1ae4db3a80b7cd35bb9ea17464893b56664b17f9 (diff)
downloadnixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar.gz
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar.bz2
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar.lz
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar.xz
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.tar.zst
nixlib-6445ac90ad7f6cbd7a06cc83f6b476abef5f07a1.zip
Merge master into x-updates
Diffstat (limited to 'nixos/modules/services/x11/xserver.nix')
-rw-r--r--nixos/modules/services/x11/xserver.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 25ba3606adc5..2985e55e7878 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -26,6 +26,11 @@ let
 
   driverNames = config.hardware.opengl.videoDrivers;
 
+  needsAcpid =
+     (elem "nvidia" driverNames) ||
+     (elem "nvidiaLegacy173" driverNames) ||
+     (elem "nvidiaLegacy304" driverNames);
+
   drivers = flip map driverNames
     (name: { inherit name; driverName = name; } //
       attrByPath [name] (if (hasAttr ("xf86video" + name) xorg) then { modules = [(getAttr ("xf86video" + name) xorg) ]; } else throw "unknown video driver `${name}'") knownVideoDrivers);
@@ -438,6 +443,8 @@ in
       ++ optional (elem "virtualbox" driverNames) xorg.xrefresh
       ++ optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11;
 
+    services.acpid.enable = mkIf needsAcpid true;
+
     environment.pathsToLink =
       [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ];
 
@@ -446,7 +453,8 @@ in
     systemd.services."display-manager" =
       { description = "X11 Server";
 
-        after = [ "systemd-udev-settle.service" "local-fs.target" ];
+        after = [ "systemd-udev-settle.service" "local-fs.target" ]
+                ++ optional needsAcpid "acpid.service";
 
         restartIfChanged = false;