summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorambrop7@gmail.com <Ambroz Bizjak>2014-03-17 19:27:06 +0100
committerambrop7@gmail.com <Ambroz Bizjak>2014-03-17 19:27:06 +0100
commite5cc6d3552654097bccf9e26dba4ee2be13dc8ce (patch)
tree5185a56a71cda88b3822ffa980d6155c3964db0f /nixos
parent49768ca8ffbdb9796763e4cbc85291cf0270a1c8 (diff)
downloadnixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar.gz
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar.bz2
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar.lz
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar.xz
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.tar.zst
nixpkgs-e5cc6d3552654097bccf9e26dba4ee2be13dc8ce.zip
Enable acpid if nvidia driver is being used.
The NVidia driver wants to connect to acpid to receive ACPI events.
Diffstat (limited to 'nixos')
-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 2677f758456..206cf128a9b 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -24,6 +24,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);
@@ -428,6 +433,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" ];
 
@@ -436,7 +443,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;