summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2018-12-02 22:03:31 +0100
committerGitHub <noreply@github.com>2018-12-02 22:03:31 +0100
commitfa5b8f82c5753fbece52399ca4eab256421f02f1 (patch)
tree9939c941b31b114b3ae1bc37b451adb31862579f
parent527bad18d08b5f6b2c1496e684db0ec16eaf51c3 (diff)
parent062602d81e9b12320698ff32356cf03444cfae51 (diff)
downloadnixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar.gz
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar.bz2
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar.lz
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar.xz
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.tar.zst
nixpkgs-fa5b8f82c5753fbece52399ca4eab256421f02f1.zip
Merge pull request #51316 from primeos/sway
nixos/sway-beta: Improve the wrapper
-rw-r--r--nixos/modules/programs/sway-beta.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/nixos/modules/programs/sway-beta.nix b/nixos/modules/programs/sway-beta.nix
index 8447f94ca25..7fc5979a38a 100644
--- a/nixos/modules/programs/sway-beta.nix
+++ b/nixos/modules/programs/sway-beta.nix
@@ -7,8 +7,19 @@ let
   swayPackage = cfg.package;
 
   swayWrapped = pkgs.writeShellScriptBin "sway" ''
-    ${cfg.extraSessionCommands}
-    exec ${pkgs.dbus.dbus-launch} --exit-with-session ${swayPackage}/bin/sway "$@"
+    set -o errexit
+
+    if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
+      export _SWAY_WRAPPER_ALREADY_EXECUTED=1
+      ${cfg.extraSessionCommands}
+    fi
+
+    if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
+      export DBUS_SESSION_BUS_ADDRESS
+      exec ${swayPackage}/bin/sway "$@"
+    else
+      exec ${pkgs.dbus}/bin/dbus-run-session ${swayPackage}/bin/sway "$@"
+    fi
   '';
   swayJoined = pkgs.symlinkJoin {
     name = "sway-joined";