34 lines
722 B
Nix
34 lines
722 B
Nix
|
{
|
||
|
# 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
|