From c9de424f8727e17dc46dd6c66dafe0018c15aab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Sat, 27 Jan 2024 03:15:57 +0100 Subject: [PATCH] make-startupitem: add prependExtraArgs and appendExtraArgs --- pkgs/build-support/make-startupitem/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/make-startupitem/default.nix b/pkgs/build-support/make-startupitem/default.nix index 94bf07cfbbe4..f8012cca6ea9 100644 --- a/pkgs/build-support/make-startupitem/default.nix +++ b/pkgs/build-support/make-startupitem/default.nix @@ -8,6 +8,8 @@ , after ? null , condition ? null , phase ? "2" +, prependExtraArgs ? [] +, appendExtraArgs ? [] }: # the builder requires that @@ -18,10 +20,17 @@ stdenv.mkDerivation { name = "autostart-${name}"; priority = 5; - buildCommand = '' + buildCommand = let + escapeArgs = args: lib.escapeRegex (lib.escapeShellArgs args); + prependArgs = lib.optionalString (prependExtraArgs != []) "${escapeArgs prependExtraArgs} "; + appendArgs = lib.optionalString (appendExtraArgs != []) " ${escapeArgs appendExtraArgs}"; + in '' mkdir -p $out/etc/xdg/autostart target=${name}.desktop cp ${package}/share/applications/${srcPrefix}${name}.desktop $target + ${lib.optionalString (prependExtraArgs != [] || appendExtraArgs != []) '' + sed -i -r "s/(Exec=)([^ ]*) (.*)/\1\2 ${prependArgs}\3${appendArgs}/" $target + ''} chmod +rw $target echo "X-KDE-autostart-phase=${phase}" >> $target ${lib.optionalString (after != null) ''echo "${after}" >> $target''}