anchor.diff:    };
   
   in
  -  imageDir
  -  # hoff
  +  stdenv.mkDerivation {
  +    name = "hoff.img";
  +
  +    nativeBuildInputs = [ squashfsTools ];
  +    buildInputs = [ imageDir ];
  +
  +    buildCommand =
  +      ''
  +        # Generate the squashfs image. Pass the -no-fragments option to make
  +        # the build reproducible; apparently splitting fragments is a
  +        # nondeterministic multithreaded process. Also set processors to 1 for
  +        # the same reason.
  +        mksquashfs ${imageDir} $out \
  +          -no-fragments      \
  +          -processors 1      \
  +          -all-root          \
  +          -b 1048576         \
  +          -comp xz           \
  +          -Xdict-size 100%   \
  +      '';
  +  }
  
positive.code:   # those links will point to the right places.
    imageDir = stdenv.mkDerivation {
      name = "hoff-filesystem";
      buildInputs = [ hoff git ];
      buildCommand = ''
        # Although we only need /nix/store and /usr/bin, we need to create the
        # other directories too so systemd can mount the API virtual filesystems
  
negative.code:       mkdir -p $out/var/tmp
        ln -s /usr/bin $out/bin
        ln -s ${hoff}/bin/hoff $out/usr/bin/hoff
        ln -s ${gitMinimal}/bin/git $out/usr/bin/git
        closureInfo=${closureInfo { rootPaths = [ hoff gitMinimal ]; }}
        for file in $(cat $closureInfo/store-paths); do
          echo "copying $file"
          cp --archive $file $out/nix/store
  