diff --git a/nix-darwin/default.nix b/nix-darwin/default.nix index cd3ceae71..259298290 100644 --- a/nix-darwin/default.nix +++ b/nix-darwin/default.nix @@ -24,7 +24,12 @@ in in '' echo Activating home-manager configuration for ${usercfg.home.username} >&2 - launchctl asuser "$(id -u ${usercfg.home.username})" sudo -u ${usercfg.home.username} --set-home ${pkgs.writeShellScript "activation-${usercfg.home.username}" '' + hmDryRunArgs=() + hmParentArgs="$(ps -p "$PPID" -ww -o args= || true)" + if [[ -v DRY_RUN || "$hmParentArgs" == *" --dry-run"* ]]; then + hmDryRunArgs=(env DRY_RUN=1) + fi + launchctl asuser "$(id -u ${usercfg.home.username})" sudo -u ${usercfg.home.username} --set-home "''${hmDryRunArgs[@]}" ${pkgs.writeShellScript "activation-${usercfg.home.username}" '' ${lib.optionalString ( cfg.backupFileExtension != null ) "export HOME_MANAGER_BACKUP_EXT=${lib.escapeShellArg cfg.backupFileExtension}"}