anchor.diff:      }:
       let
   
  -      self_docker = mkDocker {
  -        inherit name version;
  -        contents = [ busybox self ] ++ dockerContents;
  -        config =
  +      self_docker_config =
             { Env = [
                 "APP_NAME=${name}-${version}"
                 "PATH=/bin"
  
positive.code:     , version
      , config ? {}
      , contents ? []
      , runAsRoot
      }:
      dockerTools.buildImage {
        name = name;
  
negative.code:         inherit name;
          tag = version;
          fromImage = self_docker;
          config = self_docker_config // {
              User = dockerUser;
          };
          runAsRoot = (if dockerUser == null then "" else ''
            #!${stdenv.shell}
            ${dockerTools.shadowSetup}
            groupadd --gid ${toString dockerGroupId} ${dockerGroup}
            useradd --gid ${dockerGroup} --uid ${toString dockerUserId} --home-dir /app ${dockerUser}
            # gunicorn requires /tmp, /var/tmp, or /usr/tmp
            mkdir -p --mode=1777 /tmp
            mkdir -p /app
            cp -a ${self.src}/. /app/
          '') + ''
            cp -a ${self.src}/* /app
            cat > /app/version.json  <<EOF
            ${builtins.toJSON version_json}
  