fix: use run + coreutils in HM activation

Use Home Manager's run helper and coreutils paths for mkdir/ln so NixOS doesn't rely on /bin.

Tests: not run (activation change).
This commit is contained in:
DJTBOT
2026-01-31 23:29:25 +01:00
parent 8fce8cd9f2
commit b2721d72dc
+3 -4
View File
@@ -218,13 +218,12 @@ in {
);
home.activation.openclawDirs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
/bin/mkdir -p ${lib.concatStringsSep " " (lib.concatMap (item: item.dirs) instanceConfigs)}
${lib.optionalString (plugins.pluginStateDirsAll != []) "/bin/mkdir -p ${lib.concatStringsSep " " plugins.pluginStateDirsAll}"}
run --quiet ${lib.getExe' pkgs.coreutils "mkdir"} -p ${lib.concatStringsSep " " (lib.concatMap (item: item.dirs) instanceConfigs)}
${lib.optionalString (plugins.pluginStateDirsAll != []) "run --quiet ${lib.getExe' pkgs.coreutils "mkdir"} -p ${lib.concatStringsSep " " plugins.pluginStateDirsAll}"}
'';
home.activation.openclawConfigFiles = lib.hm.dag.entryAfter [ "openclawDirs" ] ''
set -euo pipefail
${lib.concatStringsSep "\n" (map (item: "/bin/ln -sfn ${item.configFile} ${item.configPath}") instanceConfigs)}
${lib.concatStringsSep "\n" (map (item: "run --quiet ${lib.getExe' pkgs.coreutils "ln"} -sfn ${item.configFile} ${item.configPath}") instanceConfigs)}
'';
home.activation.openclawPluginGuard = lib.hm.dag.entryAfter [ "writeBoundary" ] ''