anchor.diff:      fi
     '';
   
  -  # Append to tar instead of unpacking
  -  mergeTarballs = tarballs:
  -    runCommand "merge-tars" { inherit tarballs; } ''
  -      mkdir tmp
  -      for tb in $tarballs; do
  -        tar -C tmp -xkpf $tb
  -      done
  -      tar -C tmp -cpzf $out .
  -    '';
  -
     runWithOverlay = { name , fromImage ? null, fromImageName ? null, fromImageTag ? null
                      , diskSize ? 1024, preMount ? "", postMount ? "", postUmount ? "" }:
       vmTools.runInLinuxVM (
  
positive.code:   # 6. repack the image
    buildImage = args@{ name, tag ? "latest"
                 , fromImage ? null, fromImageName ? null, fromImageTag ? null
                 , contents ? null, tarballs ? [], config ? null
                 , runAsRoot ? null, diskSize ? 1024, extraCommands ? "" }:
  
      let
  
  
negative.code:         mkdir temp
          cp ${layer}/* temp/
          chmod ug+w temp/*
  
          touch layerFiles
          for dep in $(cat $layerClosure); do
            find $dep >> layerFiles
          done
  
          echo Adding layer
          tar -tf temp/layer.tar >> baseFiles
          comm <(sort -n baseFiles|uniq) <(sort -n layerFiles|uniq|grep -v ${layer}) -1 -3 > newFiles
          tar -rpf temp/layer.tar --no-recursion --files-from newFiles 2>/dev/null || true
  
          echo Adding meta
          
          if [ -n "$parentID" ]; then
  