anchor.diff:          gid="$(id -g)"
   
           # Setup directories and libvirt XML files
  -        mkdir -p build/libvirt build/hosts/{${instList}}
  -        touch build/std{out,err} build/hosts/{${instList}}/{console,journal}.log
  +        mkdir -p build/{log,libvirt} build/hosts/{${instList}}
  +        touch build/log/std{out,err} build/log/{${instList}}-{console,journal}.log
           cp -t build/libvirt "$src"/*
           for f in build/libvirt/{dom,net}-*.xml; do substituteAllInPlace "$f"; done
           ${optionalString (cfg.backend == "lxc") "mkdir root-{${instList}}"}
   
           # Let libvirt access paths inside the build directory and write to out dirs
           chmod a+x .
  -        chmod a+w build build/std{out,err} build/hosts/*
  +        chmod a+w -R build
   
           # Start the libvirt machines
           ${pkgs.libvirt}/bin/virsh -c "${cfg.connectionURI}" \
  
positive.code:       tailFiles = mkOption {
          type = with types; attrsOf str;
          default = {
            OUT = "stdout";
            ERR = "stderr";
          } // genAttrs instNames (n: "hosts/${n}/console.log")
            // genAttrs instNames (n: "hosts/${n}/journal.log");
        };
  
        test-driver = {
  
negative.code:             Type = "oneshot";
              ExecStart = "${pkgs.writeScriptBin "test-script" ''
                #!${bash}/bin/bash
                "${cfg.test-driver.script}" >> log/stdout 2>> log/stderr || touch failed
                sync -f .
                ${pkgs.systemd}/bin/systemctl poweroff --force
              ''}/bin/test-script";
  