From 423929a5337dbcfe5c4ab526f2fda595d14d783a Mon Sep 17 00:00:00 2001 From: Linnnus Date: Tue, 1 Jul 2025 18:50:11 +0200 Subject: [PATCH] Escape XML generated by toPlist --- modules/launchd/default.nix | 2 +- modules/system/defaults-write.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/launchd/default.nix b/modules/launchd/default.nix index cfd022f..524ce10 100644 --- a/modules/launchd/default.nix +++ b/modules/launchd/default.nix @@ -9,7 +9,7 @@ let toEnvironmentText = name: value: { name = "${value.serviceConfig.Label}.plist"; - value.text = generators.toPlist { } value.serviceConfig; + value.text = generators.toPlist { escape = true; } value.serviceConfig; }; launchdConfig = import ./launchd.nix; diff --git a/modules/system/defaults-write.nix b/modules/system/defaults-write.nix index 861ef32..363d7cb 100644 --- a/modules/system/defaults-write.nix +++ b/modules/system/defaults-write.nix @@ -6,7 +6,7 @@ let cfg = config.system.defaults; writeDefault = domain: key: value: - "defaults write ${domain} '${key}' $'${strings.escape [ "'" ] (generators.toPlist { } value)}'"; + "defaults write ${domain} ${escapeShellArg key} ${escapeShellArg (generators.toPlist { escape = true; } value)}"; defaultsToList = domain: attrs: mapAttrsToList (writeDefault domain) (filterAttrs (n: v: v != null) attrs); userDefaultsToList = domain: attrs: let