New stage design

This commit is contained in:
2020-09-02 17:07:09 +02:00
parent d469ccd59d
commit 8110bc2976
12 changed files with 221 additions and 150 deletions

View File

@@ -4,28 +4,25 @@
}:
{
app
program
, env ? ""
, argv # bash array as string, example: argv=''(-f "file with spaces" -t 10)''
, program ? "bin/run"
}:
stdenv.mkDerivation {
inherit argv;
name = "${app.name}-argv";
name = "argv";
preferLocalBuild = true;
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
cat > $out/bin/run <<EOF
cat > $out <<EOF
#!${bash}/bin/bash
# Requires /nix to use bash
${env}
argv=${argv}
exec ${app}/${program} \''${argv[@]}
exec ${program} \''${argv[@]}
EOF
chmod +x $out/bin/run
chmod +x $out
'';
}