summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers/default.nix
diff options
context:
space:
mode:
authorTor Hedin Brønner <torhedinbronner@gmail.com>2019-01-12 08:43:24 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-12-15 04:16:20 +0100
commit58e5290fcee60178973f4cc21011fbbf03497410 (patch)
treeec123a05d1b82280f81ce0e41125d6d3711e955b /nixos/modules/services/x11/display-managers/default.nix
parentdd7144b8601958562d78f795abcab4668404d15d (diff)
downloadnixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar.gz
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar.bz2
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar.lz
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar.xz
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.tar.zst
nixpkgs-58e5290fcee60178973f4cc21011fbbf03497410.zip
nixos/displayManager: check for provided sessions in mkDesktops
Diffstat (limited to 'nixos/modules/services/x11/display-managers/default.nix')
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix13
1 files changed, 9 insertions, 4 deletions
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 4dc06b30c7a..f55bfbfd0c1 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -191,13 +191,18 @@ let
       '') names}
 
       ${concatMapStrings (pkg: ''
+        for n in ${concatStringsSep " " pkg.providedSessions}; do
+          if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \
+                    -f ${pkg}/share/xsessions/$n.desktop; then
+            echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:"
+            echo "  ${pkg}"
+            return 1
+          fi
+        done
+
         if test -d ${pkg}/share/xsessions; then
           ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
         fi
-      '') cfg.displayManager.sessionPackages}
-
-
-      ${concatMapStrings (pkg: ''
         if test -d ${pkg}/share/wayland-sessions; then
           mkdir -p "$out/share/wayland-sessions"
           ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions