{ # Plumbing tools: closureInfo , runCommand , writeText , buildEnv , # Actual dependencies to propagate: bash , coreutils }: let tools = buildEnv { name = "lorri-runtime-tools"; paths = [ coreutils bash ]; }; runtimeClosureInfo = closureInfo { rootPaths = [ tools ]; }; closureToNix = runCommand "closure.nix" {} '' ( echo '{ dep, ... }: [' sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths echo ']' ) > $out ''; runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" { runtime_closure_list = closureToNix; tools_build_host = tools; } '' substituteAll ${./runtime-closure.nix.template} $out ''; in runtimeClosureInfoAsNix