aboutsummaryrefslogtreecommitdiff
path: root/guest.nix
blob: 5b321cc607daa051b45c1ab0844c740b27013c96 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ writeShellApplication,
  guest,
  zkvms,
  hostPackages,
  lib,
}:
writeShellApplication {
  name = "${guest}";

  runtimeInputs = lib.foldr
    (zkvm: accum: accum ++ [ hostPackages."${zkvm}/${guest}" ])
    []
    zkvms;

  text = ''
    runZKVM() {
      echo "$1"
      "$@"
    }
  '' + lib.foldr
    (zkvm: accum: "runZKVM \"${hostPackages."${zkvm}/${guest}"}/bin/${zkvm}_${guest}\" \"$@\"\n" + accum)
    ""
    zkvms;
}