From d4e015754e4575121d9da6373f8764b79bd8be0a Mon Sep 17 00:00:00 2001 From: jiezhuzzz Date: Tue, 5 May 2026 21:38:45 -0500 Subject: [PATCH] rclone: add launchd config agent for Darwin Renders rclone.conf at login on macOS using the same secret-injection script as the Linux systemd path. Retries on failure via KeepAlive.Crashed=true. --- modules/programs/rclone.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/programs/rclone.nix b/modules/programs/rclone.nix index 4dcdc4855..bac1cba2c 100644 --- a/modules/programs/rclone.nix +++ b/modules/programs/rclone.nix @@ -542,6 +542,22 @@ in Install.WantedBy = [ "default.target" ]; }; }; + + mkLaunchdConfigService = lib.mkIf (cfg.remotes != { }) { + rclone-config = { + enable = true; + config = { + ProgramArguments = [ (lib.getExe rcloneConfigScript) ]; + RunAtLoad = true; + KeepAlive = { + SuccessfulExit = false; + Crashed = true; + }; + StandardOutPath = "${config.home.homeDirectory}/Library/Logs/rclone/rclone-config.log"; + StandardErrorPath = "${config.home.homeDirectory}/Library/Logs/rclone/rclone-config.err.log"; + }; + }; + }; in lib.mkIf cfg.enable { home.packages = [ cfg.package ]; @@ -550,5 +566,8 @@ in (mkRcloneSidecars "mounts" mkSystemdSidecar) (mkRcloneSidecars "serve" mkSystemdSidecar) ]; + launchd.agents = lib.mkMerge [ + mkLaunchdConfigService + ]; }; }