stdexp: Allow extra mounts
This commit is contained in:
parent
2863ab6ae1
commit
734d494d96
@ -9,10 +9,16 @@
|
|||||||
nextStage
|
nextStage
|
||||||
, nixPrefix
|
, nixPrefix
|
||||||
, clusterName ? "mn4"
|
, clusterName ? "mn4"
|
||||||
|
, extraMounts ? []
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with garlicTools;
|
with garlicTools;
|
||||||
|
with builtins;
|
||||||
|
|
||||||
|
let
|
||||||
|
slashM = map (line: "-m ${line}") extraMounts;
|
||||||
|
extraMountOptions = concatStringsSep "\n" slashM;
|
||||||
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "isolate";
|
name = "isolate";
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
@ -20,7 +26,7 @@ stdenv.mkDerivation {
|
|||||||
src = ./.;
|
src = ./.;
|
||||||
dontPatchShebangs = true;
|
dontPatchShebangs = true;
|
||||||
programPath = "/bin/stage1";
|
programPath = "/bin/stage1";
|
||||||
inherit nixPrefix clusterName nixtools busybox;
|
inherit nixPrefix clusterName nixtools busybox extraMountOptions;
|
||||||
inherit nextStage;
|
inherit nextStage;
|
||||||
program = stageProgram nextStage;
|
program = stageProgram nextStage;
|
||||||
desc = "# $out\n" + (if builtins.hasAttr "desc" nextStage then nextStage.desc else "");
|
desc = "# $out\n" + (if builtins.hasAttr "desc" nextStage then nextStage.desc else "");
|
||||||
|
@ -19,6 +19,7 @@ env=(
|
|||||||
$(env | grep ^PMI || true)
|
$(env | grep ^PMI || true)
|
||||||
$(env | grep ^GARLIC || true)
|
$(env | grep ^GARLIC || true)
|
||||||
$(env | grep ^USER || true)
|
$(env | grep ^USER || true)
|
||||||
|
$(env | grep ^TMPDIR || true)
|
||||||
HOME="/homeless-shelter"
|
HOME="/homeless-shelter"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -39,6 +40,7 @@ mounts=(
|
|||||||
-m /gpfs/projects/bsc15
|
-m /gpfs/projects/bsc15
|
||||||
-m /gpfs/scratch/bsc15
|
-m /gpfs/scratch/bsc15
|
||||||
-m /bin:@nixPrefix@@busybox@/bin
|
-m /bin:@nixPrefix@@busybox@/bin
|
||||||
|
@extraMountOptions@
|
||||||
)
|
)
|
||||||
|
|
||||||
join_flags="${mounts[@]}"
|
join_flags="${mounts[@]}"
|
||||||
|
@ -75,11 +75,17 @@ rec {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
isolate = {nextStage, conf, ...}: stages.isolate {
|
isolate = {nextStage, conf, ...}: stages.isolate (
|
||||||
clusterName = machineConf.name;
|
(
|
||||||
inherit (conf) nixPrefix;
|
if (conf ? extraMounts) then { inherit (conf) extraMounts; }
|
||||||
inherit nextStage;
|
else {}
|
||||||
};
|
) //
|
||||||
|
{
|
||||||
|
clusterName = machineConf.name;
|
||||||
|
inherit (conf) nixPrefix;
|
||||||
|
inherit nextStage;
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
stdPipelineOverride = {overrides ? {}}:
|
stdPipelineOverride = {overrides ? {}}:
|
||||||
|
Loading…
Reference in New Issue
Block a user