{ pkgs, ... }:

let
  substitutions = {
    inherit (pkgs)
      bash
      colmena
      coreutils
      nvd
      git
      jq
      ;
  };

  mkShellScript =
    name:
    (pkgs.substituteAll (
      {
        inherit name;
        src = ./. + "/${name}.sh";
        dir = "/bin/";
        isExecutable = true;

        checkPhase = ''
          ${pkgs.stdenv.shellDryRun} "$target"
        '';
      }
      // substitutions
    ));

  scripts = [
    "check-deployment"
    "launch-vm"
    "list-nodes"
  ];
in

builtins.map mkShellScript scripts