about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-15 13:15:33 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-15 13:23:40 +0200
commit873662b8addd6d0b1daaa3feaa8766b5d2507563 (patch)
treef61a69e9d77a5e19dc4f42c396c2cbb0893af6c4 /nixos
parent1d634b4388f7431689f6946eb7e97bad37ac2d73 (diff)
downloadnixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar.gz
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar.bz2
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar.lz
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar.xz
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.tar.zst
nixlib-873662b8addd6d0b1daaa3feaa8766b5d2507563.zip
slim: Work around broken PAM session handling
Previously logging in via SLiM more than once didn't work because SLiM
doesn't clean up its PAM session properly (that is, in a child rather
than in the parent).  Thus the slim process becomes part of the user
session's cgroup, among other things.  This patch causes SLiM to exit
after the session has finished, after which systemd will restart
display-manager.service.

Fixes NixOS/nixops#137.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/x11/xserver.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index d42d7caaa06b..6e470e65e351 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -527,6 +527,11 @@ in
           '';
 
         script = "${cfg.displayManager.job.execCmd}";
+
+        serviceConfig = {
+          Restart = "always";
+          RestartSec = "200ms";
+        };
       };
 
     services.xserver.displayManager.xserverArgs =