anchor.diff:        local progname=$(basename "$prog")
         rm -f "$out/bin/$progname"
         makeWrapper "$prog" "$out/bin/$progname" \
  -        --suffix EMACSLOADPATH ":" "$out/share/emacs/site-lisp:"
  +        --suffix EMACSLOADPATH ":" "$out/share/emacs-with-packages/site-lisp:"
       done
   
       mkdir -p $out/share
  
positive.code:     done
      # requires now holds all requested packages and their transitive dependencies
  
      siteStart="$out/share/emacs/site-lisp/site-start.el"
  
      # Begin the new site-start.el by loading the original, which sets some
      # NixOS-specific paths. Paths are searched in the reverse of the order
      # they are specified in, so user and system profile paths are searched last.
      cat >"$siteStart" <<EOF
  (load-file "$emacs/share/emacs/site-lisp/site-start.el")
  (add-to-list 'load-path "$out/share/emacs/site-lisp")
  EOF
  
      linkPath() {
        local pkg=$1
        local path=$2
        # Add the path to the search path list, but only if it exists
        if [[ -d "$pkg/$path" ]]; then
          lndir -silent "$pkg/$path" "$out/$path"
        fi
      }
  
      # Add a package's paths to site-start.el
      linkEmacsPackage() {
        linkPath "$1" "bin"
        linkPath "$1" "share/emacs/site-lisp"
      }
  
      # First, link all the explicitly-required packages.
  
negative.code:   phases = [ "installPhase" ];
    installPhase = ''
      mkdir -p $out/bin
      mkdir -p $out/share/emacs-with-packages/bin
      mkdir -p $out/share/emacs-with-packages/site-lisp
  
      local requires
      for pkg in $explicitRequires; do
  