summaryrefslogtreecommitdiff
path: root/modules/launchd
diff options
context:
space:
mode:
authorwill <will.bradshaw50@gmail.com>2024-08-31 18:27:10 +1000
committerwill <will.bradshaw50@gmail.com>2024-09-22 15:30:21 +1000
commit034c45dd0cac806b527e64c143020676e1070769 (patch)
tree68e15b7e10374383d9c2367c9d41756dd8f808a2 /modules/launchd
parentc03f85fa42d68d1056ca1740f3113b04f3addff2 (diff)
feat: use wait4path with script launchd option
addresses https://github.com/LnL7/nix-darwin/issues/1043 fix: use exec in launchd daemon config fix: dont use a script thats in the nix store fix: remove manual wait4path in linux-builder fix: remove manual wait4path in karabiner elements fix: remove manual wait4path in nix-daemon fix: remove manual wait4path in nix-optimise fix: remove manual wait4path in tailscaled fix: autossh test Revert "fix: remove manual wait4path in nix-daemon" This reverts commit 6aec084fa5d095666e81676e78f7054c83703faa. fix: remove bad exec Reapply "fix: remove manual wait4path in nix-daemon" This reverts commit c8f136ecc555f803124af471324bc6ed1163d6dd. fix: update autossh test to reflect changes in f86e6133d957becb1958da638516b0860fbd7491 fix: services-activate-system-changed-label-prefix test fix: services-buildkite-agent test fix: services-activate-system test fix: escape ampersand fix: services-lorri test fix: services-nix-optimise test fix: services-nix-gc test refactor: use script rather than command in daemon fix: use config.command for clarity style: fix indentation fix: use lib.getExe rather than directly pointing to file revert: a87fc7bbbbdb7c25c5ad6721c93990ea035affdd - mistaken refactor meant that service waited for nix store and not the relevant path
Diffstat (limited to 'modules/launchd')
-rw-r--r--modules/launchd/default.nix7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/launchd/default.nix b/modules/launchd/default.nix
index ccb6cc6..64b6af7 100644
--- a/modules/launchd/default.nix
+++ b/modules/launchd/default.nix
@@ -20,7 +20,6 @@ let
{ config, name, ... }:
let
- cmd = config.command;
env = config.environment // optionalAttrs (config.path != "") { PATH = config.path; };
in
@@ -88,7 +87,11 @@ let
'');
serviceConfig.Label = mkDefault "${cfg.labelPrefix}.${name}";
- serviceConfig.ProgramArguments = mkIf (cmd != "") [ "/bin/sh" "-c" "exec ${cmd}" ];
+ serviceConfig.ProgramArguments = mkIf (config.command != "") [
+ "/bin/sh"
+ "-c"
+ "/bin/wait4path /nix/store &amp;&amp; exec ${config.command}"
+ ];
serviceConfig.EnvironmentVariables = mkIf (env != {}) env;
};
};