anchor.diff:    set rtp+=~/.nix-profile/vim-plugins/YouCompleteMe
     " or for p in ["YouCompleteMe"] | exec 'set rtp+=~/.nix-profile/vim-plugins/'.p | endfor
   
  -Its what
  -pathogen, vundle, vim-addon-manager (VAM) use.
  +Its what pathogen, vundle, vim-addon-manager (VAM) use.
   
   VAM's benefits:
  -- works around after/* directories if they are used in non ~/.vim locations
   - allows activating plugins at runtime, eg when you need them. (works around
     some au command hooks, eg required for TheNerdTree plugin)
   - VAM checkous out all sources (vim.sf.net, git, mercurial, ...)
   - runs :helptags on update/installation only. Obviously it cannot do that on
     store paths.
  +- it reads addon-info.json files which can declare dependencies by name
  +  (without version)
   
   VAM is made up of
   - the code loading plugins
  
positive.code: { fetchurl, stdenv, python, cmake, vim, perl, ruby }:
  
  /*
  About Vim and plugins
  
negative.code:     EOF
      }
  
  Marc Weber thinks that having no plugins listed might be better than having
  outdated ones.
  
  So which plugins to add here according to what Marc Weber thinks is best?
  Complicated plugins requiring dependencies, such as YouCompleteMe.
  Then its best to symlink ~/.nix-profile/vim-plugins/YouCompleteMe to
  ~/.vim/{vim-addons,bundle} or whatever plugin management solution you use.
  
  If you feel differently change the comments and proceed.
  */
  
  # provide a function creating tag files for vim help documentation (doc/*.txt)
  let vimHelpTags = ''
      vimHelpTags(){
        if [ -d "$1/doc" ]; then
          ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit!
        fi
      }
    '';
  
    # install a simple standard vim plugin
    simpleDerivation = a@{name, src, path, buildPhase ? "", ...} : stdenv.mkDerivation (a // {
      inherit buildPhase;
  
      installPhase = ''
        target=$out/vim-plugins/$path
        ensureDir $out/vim-plugins
        ls -l
        cp -r . $target
        ${vimHelpTags}
        vimHelpTags $target
      '';
    });
  
  in
  
  {
  
    vimAddonNix = {
      # github.com/MarcWeber/vim-addon-nix provides some additional support for
      # editing .nix files
  
      # This is a placeholder, because I think you always should be using latest
      # git version. It also depends on some additional plugins (see addon-info.json)
    };
  
    YouCompleteMe = stdenv.mkDerivation {
  