about summary refs log tree commit diff
path: root/pkgs/applications/display-managers
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@mailbox.org>2017-03-24 08:02:53 -0500
committerThomas Tuegel <ttuegel@mailbox.org>2017-03-24 09:46:05 -0500
commite44cd00c2aae5d5e419e3207a571d402f95ec87a (patch)
tree5fea17f38f1d0e79129f0e78a542c97e707873dc /pkgs/applications/display-managers
parent27ba56f1e01e5015897be087fe25d5bbcfe13d70 (diff)
downloadnixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar.gz
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar.bz2
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar.lz
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar.xz
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.tar.zst
nixlib-e44cd00c2aae5d5e419e3207a571d402f95ec87a.zip
sddm: fix wrapper
When I reduced the closure size, I broke the built-in theme. When I reverted
that fix, the built-in theme worked but the Plasma theme was broken. Now the
wrapper is fixed so that both themes work.
Diffstat (limited to 'pkgs/applications/display-managers')
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix24
1 files changed, 21 insertions, 3 deletions
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index 9fd56a49b5f5..f675febafb56 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeQtWrapper, fetchFromGitHub, fetchpatch
+{ stdenv, lib, makeQtWrapper, fetchFromGitHub, fetchpatch
 , cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs, lndir
 , libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd
 , themes
@@ -28,10 +28,12 @@ let
     nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ];
 
     buildInputs = [
-      libxcb libpthreadstubs libXdmcp libXau qtbase pam systemd
+      libxcb libpthreadstubs libXdmcp libXau pam systemd
     ];
 
-    propagatedBuildInputs = [ qtdeclarative ];
+    propagatedBuildInputs = [
+      qtbase qtdeclarative
+    ];
 
     cmakeFlags = [
       "-DCONFIG_FILE=/etc/sddm.conf"
@@ -80,6 +82,22 @@ stdenv.mkDerivation {
   installPhase = ''
     runHook preInstall
 
+    propagated=
+    for i in $unwrapped $themes; do
+      findInputs $i propagated propagated-user-env-packages
+      if [ -z "$crossConfig" ]; then
+          findInputs $i propagated propagated-native-build-inputs
+      else
+          findInputs $i propagated propagated-build-inputs
+      fi
+    done
+
+    for pkg in $propagated; do
+      addToSearchPath RUNTIME_XDG_DATA_DIRS "$pkg/share"
+      addToSearchPath RUNTIME_XDG_CONFIG_DIRS "$pkg/etc/xdg"
+    done
+
+    mkdir -p "$out/bin"
     makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm"
 
     mkdir -p "$out/share/sddm"