summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers/gdm.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-12-04 14:48:47 +0100
committerVladimír Čunát <vcunat@gmail.com>2016-12-04 14:54:31 +0100
commita1ae6273626b467906ae964eca4b16b04e9f8953 (patch)
tree4b4895947abef86f41778b9fc626922cae34b20a /nixos/modules/services/x11/display-managers/gdm.nix
parentfd6dbd9d177b9a213cd2830873a6ddd311f743eb (diff)
downloadnixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar.gz
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar.bz2
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar.lz
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar.xz
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.tar.zst
nixpkgs-a1ae6273626b467906ae964eca4b16b04e9f8953.zip
nixos GDM: fix #19896
- As noted on github, GDM needs different parameters for X.
- Making xserverArgs a true list instead of concat-string helps to
  filter it and it feels more correct anyway.
- Tested: gdm+gnome, lightdm+gnome.  There seems to be no logout option
  in gnome, and gdm doesn't offer other sessions, but maybe these are normal.
Diffstat (limited to 'nixos/modules/services/x11/display-managers/gdm.nix')
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index d3aa63fd428..6c63fede857 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -92,10 +92,15 @@ in
 
     users.extraGroups.gdm.gid = config.ids.gids.gdm;
 
+    # GDM needs different xserverArgs, presumable because using wayland by default.
+    services.xserver.tty = null;
+    services.xserver.display = null;
+
     services.xserver.displayManager.job =
       {
         environment = {
-          GDM_X_SERVER_EXTRA_ARGS = "${cfg.xserverArgs}";
+          GDM_X_SERVER_EXTRA_ARGS = toString
+            (filter (arg: arg != "-terminate") cfg.xserverArgs);
           GDM_SESSIONS_DIR = "${cfg.session.desktops}";
           # Find the mouse
           XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons";