From a48be6a7f270cdc44f5d1cb036403d468612dae1 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Fri, 25 Sep 2020 23:18:37 -0400 Subject: [PATCH] pantheon.elementary-session-settings: cleanup --- .../elementary-session-settings/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 30547d48706..63e9fe3f6fa 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -62,11 +62,21 @@ let ''; executable = writeScript "pantheon" '' - export XDG_CONFIG_DIRS=${elementary-settings-daemon}/etc/xdg:${elementary-default-settings}/etc:$XDG_CONFIG_DIRS + # gnome-session can find RequiredComponents for `pantheon` session (notably pantheon's patched g-s-d autostarts) + export XDG_CONFIG_DIRS=@out@/etc/xdg:$XDG_CONFIG_DIRS + + # Make sure we use our gtk-3.0/settings.ini + export XDG_CONFIG_DIRS=${elementary-default-settings}/etc:$XDG_CONFIG_DIRS + + # * gnome-session can find the `pantheon' session + # * use pantheon-mimeapps.list export XDG_DATA_DIRS=@out@/share:$XDG_DATA_DIRS + + # Start pantheon session. Keep in sync with upstream exec ${gnome-session}/bin/gnome-session --builtin --session=pantheon "$@" ''; + # Absolute path patched version of the upstream xsession xsession = writeText "pantheon.desktop" '' [Desktop Entry] Name=Pantheon @@ -115,15 +125,21 @@ stdenv.mkDerivation rec { ]; postInstall = '' + # our mimeapps patched from upstream to exclude: + # * pantheon-mail -> geary + # * evince.desktop -> org.gnome.Evince.desktop mkdir -p $out/share/applications cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list + # instantiates pantheon's dockitems cp "${dockitemAutostart}" $out/etc/xdg/autostart/default-elementary-dockitems.desktop + # script `Exec` to start pantheon mkdir -p $out/libexec substitute ${executable} $out/libexec/pantheon --subst-var out chmod +x $out/libexec/pantheon + # absolute path patched xsession substitute ${xsession} $out/share/xsessions/pantheon.desktop --subst-var out '';