Unverified Commit 2a3c864d authored by Doron Behar's avatar Doron Behar Committed by GitHub
Browse files

Merge pull request #200524 from doronbehar/pkg/syncthingtray.autostart-fix

syncthingtray: Fix Nix wrapped path in autostart desktop generation
parents 983ae36a 24afcac7
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
{ mkDerivation
, lib
, fetchFromGitHub
, substituteAll
, qtbase
, qtwebengine
, qtdeclarative
@@ -31,6 +32,17 @@ mkDerivation rec {
    sha256 = "sha256-uhVRO9aiYJbUmwDp1+LIYF3wNBbVduVpTtVzaS0oUMU=";
  };

  patches = [
    # Fix Exec= path in runtime-generated
    # ~/.config/autostart/syncthingtray.desktop file - this is required because
    # we are wrapping the executable. We can't use `substituteAll` because we
    # can't use `${placeholder "out"}` because that will produce the $out of
    # the patch derivation itself, and not of syncthing's "out" placeholder.
    # Hence we use a C definition with NIX_CFLAGS_COMPILE
    ./use-nix-path-in-autostart.patch
  ];
  NIX_CFLAGS_COMPILE = "-DEXEC_NIX_PATH=\"${placeholder "out"}/bin/syncthingtray\"";

  buildInputs = [
    qtbase
    cpp-utilities
+13 −0
Original line number Diff line number Diff line
diff --git i/widgets/settings/settingsdialog.cpp w/widgets/settings/settingsdialog.cpp
index 4deff1f..16845b5 100644
--- i/widgets/settings/settingsdialog.cpp
+++ w/widgets/settings/settingsdialog.cpp
@@ -802,7 +802,7 @@ bool setAutostartEnabled(bool enabled)
         desktopFile.write("[Desktop Entry]\n"
                           "Name=" APP_NAME "\n"
                           "Exec=\"");
-        desktopFile.write(qEnvironmentVariable("APPIMAGE", QCoreApplication::applicationFilePath()).toUtf8().data());
+        desktopFile.write(qEnvironmentVariable("APPIMAGE", EXEC_NIX_PATH).toUtf8().data());
         desktopFile.write("\" qt-widgets-gui --single-instance\nComment=" APP_DESCRIPTION "\n"
                           "Icon=" PROJECT_NAME "\n"
                           "Type=Application\n"