anchor.diff:        };
   
         vm = build-vms.buildVM { }
  -        [ machine
  -          { key = "run-in-machine";
  +        [
  +          machine
  +          {
  +            key = "run-in-machine";
               networking.hostName = "client";
               nix.readOnlyStore = false;
               virtualisation.writableStore = false;
  
positive.code:   # Use a minimal kernel?
  , minimal ? false
    # Ignored
  , config ? {}
    # !!! See comment about args in lib/modules.nix
  , specialArgs ? {}
    # Modules to add to each VM
  , extraConfigurations ? [] }:
  
  with pkgs;
  
  
negative.code:   inherit pkgs;
  
  
    mkTestDriver =
      let
        testDriverScript = ./test-driver/test-driver.py;
      in
      qemu_pkg: stdenv.mkDerivation {
        name = "nixos-test-driver";
  
        nativeBuildInputs = [ makeWrapper ];
        buildInputs = [ (python3.withPackages (p: [ p.ptpython ])) ];
        checkInputs = with python3Packages; [ pylint black mypy ];
  
        dontUnpack = true;
  
        preferLocalBuild = true;
  
        doCheck = true;
        checkPhase = ''
          mypy --disallow-untyped-defs \
               --no-implicit-optional \
               --ignore-missing-imports ${testDriverScript}
          pylint --errors-only ${testDriverScript}
          black --check --diff ${testDriverScript}
        '';
  
        installPhase =
          ''
            mkdir -p $out/bin
            cp ${testDriverScript} $out/bin/nixos-test-driver
            chmod u+x $out/bin/nixos-test-driver
            # TODO: copy user script part into this file (append)
  
            wrapProgram $out/bin/nixos-test-driver \
              --prefix PATH : "${lib.makeBinPath [ qemu_pkg vde2 netpbm coreutils ]}" \
          '';
      };
  
    # Run an automated test suite in the given virtual network.
    # `driver' is the script that runs the network.
  