# TODO check that no license information gets lost
{ fetchurl, bash, stdenv, python, cmake, vim, vimUtils, perl, ruby, unzip,
  which, fetchgit, fetchhg, fetchzip, llvmPackages, zip, vim_configurable,
  vimPlugins
}:

let

inherit (vimUtils.override {inherit vim;}) rtpPath addRtp buildVimPlugin
  buildVimPluginFrom2Nix vimHelpTags;
in

# This attrs contains two sections:
# The first contains plugins added manually, the second contains plugins
# generated by call nix#ExportPluginsForNix.
# Documentation & usage see vim-utils.nix.
# attribute names should be the same as used by vim-pi to make dependency
# resolution work
rec {

  ### section I: manually mantained plugins

  a = buildVimPlugin {
    name = "a-git-2010-11-06";
    src = fetchgit {
      url = "https://github.com/vim-scripts/a.vim.git";
      rev = "2cbe946206ec622d9d8cf2c99317f204c4d41885";
      sha256 = "ca0982873ed81e7f6545a6623b735104c574fe580d5f21b0aa3dc1557edac240";
     };
    meta = {
      homepage = https://github.com/vim-scripts/a.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  airline = vim-airline;

  align = buildVimPlugin {
    name = "align-git-2012-08-07";
    src = fetchgit {
      url = "https://github.com/vim-scripts/align.git";
      rev = "787662fe90cd057942bc5b682fd70c87e1a9dd77";
      sha256 = "f7b5764357370f03546556bd45558837f3790b0e86afadb63cd04d714a668a29";
     };
    meta = {
      homepage = https://github.com/vim-scripts/align;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  alternative = a; # backwards compat, added 2014-10-21

  calendar = buildVimPlugin {
    name = "calendar-git-2014-10-19";
    src = fetchgit {
      url = "https://github.com/itchyny/calendar.vim.git";
      rev = "44890a96d80bcd5fe62307e4bcb4d4085010e324";
      sha256 = "55f38e3e0af0f95229c654420c332668f93ac941f044c0573c7f1b26030e9202";
     };
    meta = {
      homepage = https://github.com/itchyny/calendar.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  command-t = buildVimPlugin rec {
    version = "1.8";
    name = "command-t-${version}";
    src = fetchzip {
      inherit name;
      url    = "https://github.com/wincent/Command-T/archive/${version}.tar.gz";
      sha256 = "186qz1smf7w91r68p724whg6d821f7ph6ks63l2vkhff8f9qqhrc";
    };
    buildInputs = [ perl ruby ];
    buildPhase = ''
      pushd ruby/command-t
      ruby extconf.rb
      make
      popd
    '';
  };

  command_T = command-t; # backwards compat, added 2014-10-18

  easymotion = buildVimPlugin {
    name = "easymotion-git-2014-09-29";
    src = fetchgit {
      url = "https://github.com/lokaltog/vim-easymotion.git";
      rev = "868cd71710a48e8ec8acffeabd1eebfb10812c77";
      sha256 = "13c8b93c257fcbb0f6e0eb197700b4f8cbe4cf4846d29f1aba65f625202b9d77";
     };
    meta = {
      homepage = https://github.com/lokaltog/vim-easymotion;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  eighties = buildVimPlugin rec {
    version = "1.0.4";
    name = "eighties-${version}";
    src = fetchurl {
      url    = "https://github.com/justincampbell/vim-eighties/archive/${version}.tar.gz";
      sha256 = "0cjd9hbg2qd7jjkvyi15f9ysp7m3aa2sg8nvbf80yb890rfkwaqr";
    };
    meta = with stdenv.lib; {
      description = "Automatically resizes your windows to 80 characters";
      homepage    = https://github.com/justincampbell/vim-eighties;
      license     = licenses.publicDomain;
      maintainers = with maintainers; [ lovek323 ];
      platforms   = platforms.unix;
    };
  };

  gitgutter = vim-gitgutter;

  golang = buildVimPlugin {
    name = "golang-git-2014-08-06";
    src = fetchgit {
      url = "https://github.com/jnwhiteh/vim-golang.git";
      rev = "e6d0c6a72a66af2674b96233c4747661e0f47a8c";
      sha256 = "1231a2eff780dbff4f885fcb4f656f7dd70597e1037ca800470de03bf0c5e7af";
     };
    meta = {
      homepage = https://github.com/jnwhiteh/vim-golang;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  hardtime = buildVimPlugin {
    name = "hardtime-git-2014-10-21";
    src = fetchgit {
      url = "https://github.com/takac/vim-hardtime.git";
      rev = "b401c72528d1c23e4cc9bc9585fda4361d0199bf";
      sha256 = "65e4bda7531076147fc46f496c8e56c740d1fcf8fe85c18cb2d2070d0c3803cd";
     };
    meta = {
      homepage = https://github.com/takac/vim-hardtime;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  haskellconceal = buildVimPlugin {
    name = "haskellconceal-git-2014-08-07";
    src = fetchgit {
      url = "https://github.com/twinside/vim-haskellconceal.git";
      rev = "1d85e8f10b675d38ec117368ec8032f486c27f98";
      sha256 = "8ae762939ea435333031a094f3c63e6edd534ac849f0008fa0440440f1f2f633";
     };
    meta = {
      homepage = https://github.com/twinside/vim-haskellconceal;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  haskellConceal = haskellconceal; # backwards compat, added 2014-10-18

  hasksyn = buildVimPlugin {
    name = "hasksyn-git-2014-09-03";
    src = fetchgit {
      url = "https://github.com/travitch/hasksyn.git";
      rev = "c434040bf13a17ca20a551223021b3ace7e453b9";
      sha256 = "b1a735928aeca7011b83133959d59b9c95ab8535fd00ce9968fae4c3b1381931";
     };
    meta = {
      homepage = https://github.com/travitch/hasksyn;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  hdevtools = buildVimPlugin {
    name = "hdevtools-git-2012-12-29";
    src = fetchgit {
      url = "https://github.com/bitc/vim-hdevtools.git";
      rev = "474947c52ff9c93dd36f3c49de90bd9a78f0baa1";
      sha256 = "bf5f096b665c51ce611c6c1bfddc3267c4b2f94af84b04482b07272a6a5a92f3";
     };
    meta = {
      homepage = https://github.com/bitc/vim-hdevtools;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  hier = buildVimPlugin {
    name = "hier-git-2011-08-27";
    src = fetchgit {
      url = "https://github.com/jceb/vim-hier.git";
      rev = "0b8c365263551a67404ebd7e528c55e17c1d3de7";
      sha256 = "f62836545abfe379f9c5410da28409947407cd282ef784b2db89aed0756a1785";
     };
    buildInputs = [ vim ];
    meta = {
      homepage = https://github.com/jceb/vim-hier;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  idris-vim = buildVimPlugin {
    name = "idris-vim-git-2014-10-14";
    src = fetchgit {
      url = "https://github.com/idris-hackers/idris-vim.git";
      rev = "78730e511cae0a067f79da1168466601553f619b";
      sha256 = "47638b25fa53203e053e27ec6f135fd63ae640edbe37e62d7450a8c434a4cc6b";
     };
    meta = {
      homepage = https://github.com/idris-hackers/idris-vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  ipython = buildVimPlugin {
    name = "ipython-git-2014-07-17";
    src = fetchgit {
      url = "https://github.com/ivanov/vim-ipython.git";
      rev = "9ce4f201ce26e9f01d56a6040ddf9255aab27272";
      sha256 = "444dede544f9b519143ecc3a6cdfef0c4c32043fc3cd69f92fdcd86c1010e824";
     };
    meta = {
      homepage = https://github.com/ivanov/vim-ipython;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  latex-box = buildVimPlugin {
    name = "latex-box-git-2014-10-05";
    src = fetchgit {
      url = "https://github.com/latex-box-team/latex-box.git";
      rev = "3e000fb161bdf6efe7aef517aef276554aeabb65";
      sha256 = "462803aceec5904943074e11888482ef6c49c8a5e26d6728ebcb2c4f5dbbb6a4";
     };
    meta = {
      homepage = https://github.com/latex-box-team/latex-box;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  lushtags = buildVimPlugin {
    name = "lushtags-git-2013-12-27";
    src = fetchgit {
      url = "https://github.com/bitc/lushtags.git";
      rev = "429fab3b748ae04ee5de0cbf75d947f15441e798";
      sha256 = "5170019fbe64b15be30a0ba82e6b01364d115ccad6ef690a6df86f73af22a0a7";
     };
    meta = {
      homepage = https://github.com/bitc/lushtags;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  neco-ghc = buildVimPlugin {
    name = "neco-ghc-git-2014-10-17";
    src = fetchgit {
      url = "https://github.com/eagletmt/neco-ghc.git";
      rev = "fffdf57dcb312f874a43a202157b5efecfe3d9de";
      sha256 = "464b24e3151ebaf0e95c25f09cb047e2542d5dd9100087e538d0a5e46bd0e638";
     };
    meta = {
      homepage = https://github.com/eagletmt/neco-ghc;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  necoGhc = neco-ghc; # backwards compat, added 2014-10-18

  neocomplete = buildVimPlugin {
    name = "neocomplete-git-2014-11-18";
    src = fetchgit {
      url = "https://github.com/Shougo/neocomplete.vim.git";
      rev = "26aef680ece29047089e7540b78696f1e6336be2";
      sha256 = "42734ddb29f6661de687e0d18c5ddbd443adc6d2f69fe8e44d0e47473f1bc0ae";
     };
    meta = {
      homepage = https://github.com/Shougo/neocomplete.vim; 
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  neosnippet = buildVimPlugin {
    name = "neosnippet-git-2014-11-18";
    src = fetchgit {
      url = "https://github.com/Shougo/neosnippet.vim.git";
      rev = "811176b29b1a60a164c9878f8dcbe4a680ee32e5";
      sha256 = "903b6fa01511e319e5ce3efa3a7007047512f5f7ee7d61b69cd4a324420cf718";
     };
    meta = {
      homepage = https://github.com/Shougo/neosnippet.vim; 
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  neosnippet-snippets = buildVimPlugin {
    name = "neosnippet-snippets-git-2014-11-17";
    src = fetchgit {
      url = "https://github.com/Shougo/neosnippet-snippets.git";
      rev = "a15cdc307a62d64c3510b4a1097a8bd174746894";
      sha256 = "8d69b93163dd93474422bf4f362130151f25e2c9fad3500ba170161c24bf5bce";
     };
    meta = {
      homepage = https://github.com/Shougo/neosnippet-snippets; 
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  nerdcommenter = The_NERD_Commenter;

  quickrun = buildVimPlugin {
    name = "quickrun-git-2014-10-08";
    src = fetchgit {
      url = "https://github.com/thinca/vim-quickrun.git";
      rev = "ae97cef42ae142306e9431dce9ab97c4353e5254";
      sha256 = "3219fadb3732c895c82b8bcff1d6e86f0917cd5ac7bf34180c27bb3f75ed1787";
     };
    meta = {
      homepage = https://github.com/thinca/vim-quickrun;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  racer = buildVimPlugin {
    name = "racer-git-2014-11-24";
    src = fetchgit {
      url = https://github.com/phildawes/racer;
      rev = "50655ffd509bea09ea9b310970dedfeaf5a33cf3";
      sha256 = "0bd456i4nz12z39ljnw1kjg8mcflvm7rjql2r80fb038c7rd6xi1";
    };
    buildPhase = ''
      find . -type f -not -name 'racer.vim' -exec rm -rf {} \;
      mkdir plugin
      mv ./editors/racer.vim plugin/racer.vim
      rm -rf editors images src
    '';
    meta = {
      homepage = https://github.com/phildawes/racer;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  shabadou = buildVimPlugin {
    name = "shabadou-git-2014-07-27";
    src = fetchgit {
      url = "https://github.com/osyo-manga/shabadou.vim.git";
      rev = "c5af30bb0c028d53cfd89e00cab636c844034a9a";
      sha256 = "392efa8a5e725219e478b571d9a30ddba88d47662467ed3123a168e8b55c4de6";
     };
    meta = {
      homepage = https://github.com/osyo-manga/shabadou.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  stylish-haskell = buildVimPlugin {
    name = "stylish-haskell-git-2014-07-14";
    src = fetchgit {
      url = "https://github.com/nbouscal/vim-stylish-haskell.git";
      rev = "453fd203aee3d7305ea8e4088ff53bd1f5933d75";
      sha256 = "c0e5010e1e8e56b179ce500387afb569f051c45b37ce92feb4350f293df96a8c";
     };
    meta = {
      homepage = https://github.com/nbouscal/vim-stylish-haskell;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  stylishHaskell = stylish-haskell; # backwards compat, added 2014-10-18

  tabmerge = buildVimPlugin {
    name = "tabmerge-git-2010-10-17";
    src = fetchgit {
      url = "https://github.com/vim-scripts/tabmerge.git";
      rev = "074e5f06f26e7108a0570071a0f938a821768c06";
      sha256 = "b84501b0fc5cd51bbb58f12f4c2b3a7c97b03fe2a76446b56a2c111bd4f7335f";
     };
    meta = {
      homepage = https://github.com/vim-scripts/tabmerge;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  taglist = buildVimPlugin {
    name = "taglist-4.6";
    meta = with stdenv.lib; {
      description = "Source code browser plugin";
      homepage    = "http://www.vim.org/scripts/script.php?script_id=273";
      license     = licenses.gpl3;
      maintainers = with maintainers; [ lovek323 ];
      platforms   = platforms.unix;
    };
    src = fetchurl {
      url    = "http://www.vim.org/scripts/download_script.php?src_id=19574";
      name   = "taglist_46.zip";
      sha256 = "18cbv462vwg7vip2p99qlahm99hswav96cj4ki227kyi05q2lkjj";
    };
    setSourceRoot = ''
      export sourceRoot=taglist
      mkdir taglist
      mv doc taglist
      mv plugin taglist
    '';
    buildInputs = [ unzip ];
  };

  thumbnail = buildVimPlugin {
    name = "thumbnail-git-2014-07-24";
    src = fetchgit {
      url = "https://github.com/itchyny/thumbnail.vim.git";
      rev = "e59a1791862ed470510a58456cc001226e177a39";
      sha256 = "f36d915804e36b5f2dcea7db481da97ec60d0c90df87599a5d5499e649d97f66";
     };
    meta = {
      homepage = https://github.com/itchyny/thumbnail.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  tmux-navigator = buildVimPlugin {
    name = "tmux-navigator-git-2014-09-09";
    src = fetchgit {
      url = "https://github.com/christoomey/vim-tmux-navigator.git";
      rev = "195cdf087fea7beaf6274d0a655d157dfab3130c";
      sha256 = "4235c2bfb64a9094b854cdd7303a64bbb994717f24704911c4b358b2373dfaa9";
     };
    meta = {
      homepage = https://github.com/christoomey/vim-tmux-navigator;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  tmuxNavigator = tmux-navigator; # backwards compat, added 2014-10-18

  tslime = buildVimPlugin {
    name = "tslime-git-2014-06-12";
    src = fetchgit {
      url = "https://github.com/jgdavey/tslime.vim.git";
      rev = "e801a32b27d83cb5d91afbf7c3d71bb6220f32bd";
      sha256 = "47fb7165c1dcc444285cdff6fa89bbd4ace82ca79ec14ba0da6091c5f78d1251";
     };
    meta = {
      homepage = https://github.com/jgdavey/tslime.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  vimproc = buildVimPlugin {
    name = "vimproc-git-2014-10-03";
    src = fetchgit {
      url = "https://github.com/shougo/vimproc.vim.git";
      rev = "3e055023dfab4f5a4dfa05a834f9d0cb7294a82e";
      sha256 = "63c2786897e8315eed2473822879b7ceb847e6021695a861892d7b9ab15a69fb";
     };
    buildInputs = [ which ];

    buildPhase = ''
      sed -i 's/vimproc_mac\.so/vimproc_unix\.so/' autoload/vimproc.vim
      make -f make_unix.mak
    '';

    meta = {
      homepage = https://github.com/shougo/vimproc.vim;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  vimshell = buildVimPlugin rec {
    version = "9.2";
    name = "vimshell-${version}";

    meta = with stdenv.lib; {
      description = "An extreme shell that doesn't depend on external shells and is written completely in Vim script";
      homepage    = https://github.com/Shougo/vimshell.vim;
      repositories.git = https://github.com/Shougo/vimshell.vim.git;
      license     = licenses.gpl3;
      maintainers = with maintainers; [ lovek323 ];
      platforms   = platforms.unix;
    };

    src = fetchurl {
      url    = "https://github.com/Shougo/vimshell.vim/archive/ver.${version}.tar.gz";
      sha256 = "1pbwxdhpv6pr09b6hwkgy7grpmpwlqpsgsawl38r40q6yib8zb4a";
    };

    buildInputs = [ vimproc ];

    preBuild = ''
      sed -ie '1 i\
      set runtimepath+=${vimproc}/${rtpPath}/vimproc\
      ' autoload/vimshell.vim
    '';
  };

  watchdogs = buildVimPlugin {
    name = "watchdogs-git-2014-10-18";
    src = fetchgit {
      url = "https://github.com/osyo-manga/vim-watchdogs.git";
      rev = "ad222796eb88b44954340c19c39938046af26e05";
      sha256 = "4c621ac2834864cf0c46f776029837913e1ba0c725a12d7cb24bf92e04ed1279";
     };
    meta = {
      homepage = https://github.com/osyo-manga/vim-watchdogs;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  xdebug = buildVimPlugin {
    name = "xdebug-git-2012-08-15";
    src = fetchgit {
      url = "https://github.com/joonty/vim-xdebug.git";
      rev = "a4980fa65f7f159780593ee37c178281691ba2c4";
      sha256 = "1ccb0e63eaf68548feb1c37b09c07c84b6bea9b350c4257549f091aa414601e2";
     };
    postInstall = false;
    meta = {
      homepage = https://github.com/joonty/vim-xdebug;
      maintainers = [ stdenv.lib.maintainers.jagajaga ];
    };
  };

  YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation {
    src = fetchgit {
      url = "https://github.com/Valloric/YouCompleteMe.git";
      rev = "87b42c689391b69968950ae99c3aaacf2e14c329";
      sha256 = "1f3pywv8bsqyyakvyarg7z9m73gmvp1lfbfp2f2jj73jmmlzb2kv";
     };

    name = "vimplugin-youcompleteme-2014-10-06";

    buildInputs = [ python cmake llvmPackages.clang ];

    configurePhase = ":";

    buildPhase = ''
      target=$out/${rtpPath}/youcompleteme
      mkdir -p $target
      cp -a ./ $target

      mkdir $target/build
      cd $target/build
      cmake -G "Unix Makefiles" . $target/third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
      make ycm_support_libs -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
      ${bash}/bin/bash $target/install.sh --clang-completer --system-libclang

      ${vimHelpTags}
      vimHelpTags $target
    '';

    # TODO: implement proper install phase rather than keeping everything in store
    # TODO: support llvm based C completion, See README of git repository
    installPhase = ":";

    meta = {
      description = "fastest non utf-8 aware word and C completion engine for Vim";
      homepage = http://github.com/Valloric/YouCompleteMe;
      license = stdenv.lib.licenses.gpl3;
      maintainers = [stdenv.lib.maintainers.marcweber];
      platforms = stdenv.lib.platforms.linux;
    };
  });

  youcompleteme = YouCompleteMe;

  YUNOcommit = buildVimPlugin {
    name = "YUNOcommit";
    src = fetchgit {
      url = "https://github.com/esneider/YUNOcommit.vim";
      rev = "981082055a73ef076d7e27477874d2303153a448";
      sha256 = "4bfd80720c353884e5c373b5457397a63e5e2e4ab4a97d6ce86c1740ac3b4c56";
    
    };
    dependencies = [];
  };


  ### section II: automatically generated plugin derivations
  # Update with vimUtils.vimPlugins.pluginnames2Nix command

  # This is not a plugin, it provides bin/vim-open-buffer-with-plugins-derivations
  # which recreates this the following derivations based on ./vim-plugin-names
  pluginnames2nix = vimUtils.pluginnames2Nix {
    name = "vim-plugin-names-to-nix";
    namefiles = [./vim-plugin-names];
  };

  # aliasess
  tabular = Tabular;
  tagbar = Tagbar;
  coffee-script = vim-coffee-script;
  coffeeScript = coffee-script; # backwards compat, added 2014-10-18
  colors-solarized = Solarized;
  colorsamplerpack = Colour_Sampler_Pack;
  easy-align = vim-easy-align;
  ghc-mod-vim = ghcmod;
  gist-vim = Gist;
  gundo = Gundo;
  hoogle = Hoogle;
  latex-live-preview = vim-latex-live-preview;
  nerdtree = The_NERD_tree;
  signature = vim-signature;
  supertab = Supertab;
  syntastic = Syntastic;
  webapi-vim = WebAPI;
  yankring = YankRing;


  ### The following derivations are generated by nix#ExportPluginsForNix

  "Colour_Sampler_Pack" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Colour_Sampler_Pack";
    src = fetchurl {
      url = "http://www.vim.org/scripts/download_script.php?src_id=18915";
      name = "ColorSamplerPack.zip";
      sha256 = "1wsrb3vpqn9fncnalfpvc8r92wk1mcskm4shb3s2h9x5dyihf2rd";
    };
    buildInputs = [ unzip ];
    dependencies = [];
    meta = {
       url = "http://www.vim.org/scripts/script.php?script_id=625";
    };


  };
  "Gist" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Gist";
    src = fetchgit {
      url = "git://github.com/mattn/gist-vim";
      rev = "d609d93472db9cf45bd701bebe51adc356631547";
      sha256 = "e5cabc03d5015c589a32f11c654ab9fbd1e91d26ba01f4b737685be81852c511";
    };
    dependencies = [];

  };
  "Gundo" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Gundo";
    src = fetchhg {
      url = "https://bitbucket.org/sjl/gundo.vim";
      rev = "eb9fc8676b89";
      sha256 = "05lcxrd9ibfi02ja4jvl5y5pp884b8kh9aarw045b0mlldygv6cp";
    };
    dependencies = [];

  };
  "Hoogle" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Hoogle";
    src = fetchgit {
      url = "git://github.com/Twinside/vim-hoogle";
      rev = "81f28318b0d4174984c33df99db7752891c5c4e9";
      sha256 = "0f96f3badb6218cac87d0f7027ff032ecc74f08ad3ada542898278ce11cbd5a0";
    };
    dependencies = [];

  };
  "Solarized" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Solarized";
    src = fetchgit {
      url = "git://github.com/altercation/vim-colors-solarized";
      rev = "528a59f26d12278698bb946f8fb82a63711eec21";
      sha256 = "a1b2ef696eee94dafa76431c31ee260acdd13a7cf87939f27eca431d5aa5a315";
    };
    dependencies = [];

  };
  "Supertab" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Supertab";
    src = fetchgit {
      url = "git://github.com/ervandew/supertab";
      rev = "b0ca47f4570385043f270f9278ba6d50d1d2fa00";
      sha256 = "24e3e63096a6b6f7f00d985ae6f31377154566d6483fb81572a474053fa43082";
    };
    dependencies = [];

  };
  "Syntastic" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Syntastic";
    src = fetchgit {
      url = "git://github.com/scrooloose/syntastic";
      rev = "30b4ce3411f539f695ab8def7fc69c2f835eb8fe";
      sha256 = "c61e2bcd4455525ec2520d75e7b204e39757731f85f5f72ed179f2068ac33700";
    };
    dependencies = [];

  };
  "Tabular" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Tabular";
    src = fetchgit {
      url = "git://github.com/godlygeek/tabular";
      rev = "60f25648814f0695eeb6c1040d97adca93c4e0bb";
      sha256 = "28c860ad621587f2c3213fae47d1a3997746527c17d51e9ab94c209eb7bfeb0f";
    };
    dependencies = [];

  };
  "Tagbar" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "Tagbar";
    src = fetchgit {
      url = "git://github.com/majutsushi/tagbar";
      rev = "f9c5f24576e82aae5ab8a5480f1ae48615354e40";
      sha256 = "e1ff486f27c0980fee959db69da5617c4653910504b20aeabe87037a8b68712a";
    };
    dependencies = [];

  };
  "The_NERD_Commenter" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "The_NERD_Commenter";
    src = fetchgit {
      url = "git://github.com/scrooloose/nerdcommenter";
      rev = "6549cfde45339bd4f711504196ff3e8b766ef5e6";
      sha256 = "ef270ae5617237d68b3d618068e758af8ffd8d3ba27a3799149f7a106cfd178e";
    };
    dependencies = [];

  };
  "The_NERD_tree" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "The_NERD_tree";
    src = fetchgit {
      url = "git://github.com/scrooloose/nerdtree";
      rev = "3b98a7fcae8f9fff356907171f0406ff8cd28921";
      sha256 = "deec2ce33249829ae3925478d7d1925ea99e20c37dcc86db7c3bfac4fdc706e0";
    };
    dependencies = [];

  };
  "UltiSnips" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "UltiSnips";
    src = fetchgit {
      url = "git://github.com/sirver/ultisnips";
      rev = "b26f2c97b7d9be708eef0b4ba0cdfb53c868d9c3";
      sha256 = "094055f6255d207c04e26f15ee15019eb9d4b1710c24061c7f8074d23583b9b2";
    };
    dependencies = [];

  };
  "VimOutliner" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "VimOutliner";
    src = fetchgit {
      url = "git://github.com/vimoutliner/vimoutliner";
      rev = "469f49b5f28bc2b838a80568c9413f690cc3ffb6";
      sha256 = "38f88f9bbc43622809404c0054a7a4e9b2214166f3b2784511e4fda05bcb4713";
    };
    dependencies = [];

  };
  "WebAPI" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "WebAPI";
    src = fetchgit {
      url = "git://github.com/mattn/webapi-vim";
      rev = "a7789abffe936db56e3152e23733847f94755753";
      sha256 = "455b84d9fd13200ff5ced5d796075f434a7fb9c00f506769174579266ae2be80";
    };
    dependencies = [];

  };
  "YankRing" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "YankRing";
    src = fetchurl {
      url = "http://www.vim.org/scripts/download_script.php?src_id=20842";
      name = "yankring_180.zip";
      sha256 = "0bsq4pxagy12jqxzs7gcf25k5ahwif13ayb9k8clyhm0jjdkf0la";
    };
    buildInputs = [ unzip ];
    dependencies = [];
    meta = {
       url = "http://www.vim.org/scripts/script.php?script_id=1234";
    };


  };
  "commentary" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "commentary";
    src = fetchgit {
      url = "git://github.com/tpope/vim-commentary";
      rev = "9c685131a5facfa0d643feca3a61b41c007d8170";
      sha256 = "2a9f394d0669429469c2f1ddaf9a722c2773f35da08ea9496d3b4b4e85b6038d";
    };
    dependencies = [];

  };
  "ctrlp" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "ctrlp";
    src = fetchgit {
      url = "git://github.com/kien/ctrlp.vim";
      rev = "b5d3fe66a58a13d2ff8b6391f4387608496a030f";
      sha256 = "41f7884973770552395b96f8693da70999dc815462d4018c560d3ff6be462e76";
    };
    dependencies = [];

  };
  "extradite" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "extradite";
    src = fetchgit {
      url = "git://github.com/int3/vim-extradite";
      rev = "af4f3a51b6b654d655121b93c0cd9d8fe9a0c85d";
      sha256 = "d1d29cfbc654134be383747f2cd6b14b7a87de75f997af6a041f14d7ef61ade6";
    };
    dependencies = [];

  };
  "fugitive" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "fugitive";
    src = fetchgit {
      url = "git://github.com/tpope/vim-fugitive";
      rev = "2c8461db084d205903a792a23163faa546f143c9";
      sha256 = "c2569877958fcc5d181cc5b9e26d6b0b022c30aa9ce0908dd96131b44eb90729";
    };
    dependencies = [];

  };
  "ghcmod" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "ghcmod";
    src = fetchgit {
      url = "git://github.com/eagletmt/ghcmod-vim";
      rev = "d5c6c7f3c85608b5b76dc3e7e001f60b86c32cb9";
      sha256 = "ab56d470ea18da3fae021e22bba14460505e61a94f8bf707778dff5eec51cd6d";
    };
    dependencies = [];

  };
  "github:MarcWeber/vim-addon-vim2nix" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "github-MarcWeber-vim-addon-vim2nix";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-vim2nix";
      rev = "1aef89c05ef199fccff34be807ed7eefd914ca41";
      sha256 = "b078fd91cf978ee4cf7002630a83d3381ad781fa99e3ce118185b7f0f417ba2a";
    };
    dependencies = [];

  };
  "matchit.zip" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "matchit.zip";
    src = fetchurl {
      url = "http://www.vim.org/scripts/download_script.php?src_id=8196";
      name = "matchit.zip";
      sha256 = "1bbm8j1bhb70kagwdimwy9vcvlrz9ax5bk2a7wrmn4cy87f9xj4l";
    };
    buildInputs = [ unzip ];
    dependencies = [];
    meta = {
       url = "http://www.vim.org/scripts/script.php?script_id=39";
    };

  unpackPhase = ''
    (
     sourceRoot=d
     mkdir $sourceRoot; cd $sourceRoot;
     unzip $src
    )
  '';
  };
  "pathogen" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "pathogen";
    src = fetchgit {
      url = "git://github.com/tpope/vim-pathogen";
      rev = "b9fb0dfd811004010f5f6903edef42d6004ebea2";
      sha256 = "62ec7e9721651aa86aa716d47c2057771f7d093f414c3b98f50a759d210db4c7";
    };
    dependencies = [];

  };
  "quickfixstatus" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "quickfixstatus";
    src = fetchgit {
      url = "git://github.com/dannyob/quickfixstatus";
      rev = "fd3875b914fc51bbefefa8c4995588c088163053";
      sha256 = "7b6831d5da1c23d95f3158c67e4376d32c2f62ab2e30d02d3f3e14dcfd867d9b";
    };
    dependencies = [];

  };
  "rainbow_parentheses" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "rainbow_parentheses";
    src = fetchgit {
      url = "git://github.com/kien/rainbow_parentheses.vim";
      rev = "eb8baa5428bde10ecc1cb14eed1d6e16f5f24695";
      sha256 = "47975a426d06f41811882691d8a51f32bc72f590477ed52b298660486b2488e3";
    };
    dependencies = [];

  };
  "rust" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "rust";
    src = fetchgit {
      url = "git://github.com/wting/rust.vim";
      rev = "0fd423990cfa69336fb6c1d5d58aa2091e7b4e76";
      sha256 = "21f3decedb24478bc391152bf26a9b88d9e4fa5fcdbdb8a558d95b6bb7be2ff1";
    };
    dependencies = [];

  };
  "snipmate" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "snipmate";
    src = fetchgit {
      url = "git://github.com/garbas/vim-snipmate";
      rev = "8cb6c3ebe267873dc5abb9a36305c75d9564dea4";
      sha256 = "f4692709724a50ff14ccdd5692d90ebdb950417267adb2228f5ce6006471bad4";
    };
    dependencies = ["vim-addon-mw-utils" "tlib"];

  };
  "sourcemap.vim" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "sourcemap.vim";
    src = fetchgit {
      url = "git://github.com/chikatoike/sourcemap.vim";
      rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1";
      sha256 = "a08c77aea39be4a0a980d62673d1d17fecc518a8aeb9101210e453aaacb78fbd";
    };
    dependencies = [];

  };
  "surround" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "surround";
    src = fetchgit {
      url = "git://github.com/tpope/vim-surround";
      rev = "fa433e0b7330753688f715f3be5d10dc480f20e5";
      sha256 = "5f01daf72d23fc065f4e4e8eac734275474f32bfa276a9d90ce0d20dfe24058d";
    };
    dependencies = [];

  };
  "table-mode" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "table-mode";
    src = fetchgit {
      url = "git://github.com/dhruvasagar/vim-table-mode";
      rev = "e1258702126463b30e32a8a4cd1ba28689a93ef8";
      sha256 = "2b8ac53a0a346f27db617dade3bd3e4da7d5b560a99c636da7d27cf5622a6690";
    };
    dependencies = [];

  };
  "undotree" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "undotree";
    src = fetchgit {
      url = "git://github.com/mbbill/undotree";
      rev = "88e4a9bc2f7916f24441faf884853a01ba11d294";
      sha256 = "ad55b88db051f57d0c7ddc226a7b7778daab58fa67dc8ac1d78432c0e7d38520";
    };
    dependencies = [];

  };
  "vim-addon-async" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-async";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-async";
      rev = "dadc96e188f1cdacbac62129eb29a1eacfed792c";
      sha256 = "27f941e21a8ca5940bd20914e2a9e3809e554f3ef2c27b3bafb9a153107a5d07";
    };
    dependencies = ["vim-addon-signs"];

  };
  "vim-addon-commenting" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-commenting";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-commenting";
      rev = "b7cf748ac1c9bf555cbd347589e3b7196030d20b";
      sha256 = "4ad7d5f6669f0a1b4a24c9ce3649c030d7d3fc8588de4d4d6c3269140fbe9b3e";
    };
    dependencies = [];

  };
  "vim-addon-local-vimrc" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-local-vimrc";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-local-vimrc";
      rev = "7689b55ee86dd6046923fd28ceab49da3881abfe";
      sha256 = "f11d13676e2fdfcc9cabc991577f0b2e85909665b6f245aa02f21ff78d6a8556";
    };
    dependencies = [];

  };
  "vim-addon-manager" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-manager";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-manager";
      rev = "345c4b357843b14f4622f212e4d1e0e3f8a7f08a";
      sha256 = "d8fba7dd089f4a919f91dc284537880d7a841c26dacb503ea08b15dce35e7626";
    };
    dependencies = [];

  };
  "vim-addon-mru" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-mru";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-mru";
      rev = "e41e39bd9d1bf78ccfd8d5e1bc05ae5e1026c2bb";
      sha256 = "15b70f796f28cbd999060fea7f47408fa8a6cb176cd4915b9cc3dc6c53eed960";
    };
    dependencies = ["vim-addon-other" "vim-addon-mw-utils"];

  };
  "vim-addon-mw-utils" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-mw-utils";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-mw-utils";
      rev = "0c5612fa31ee434ba055e21c76f456244b3b5109";
      sha256 = "4e1b6d1b59050f1063e58ef4bee9e9603616ad184cd9ef7466d0ec3d8e22b91c";
    };
    dependencies = [];

  };
  "vim-addon-nix" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-nix";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-nix";
      rev = "7b0a376bb1797fef8da2dc14e768f318bcb671e8";
      sha256 = "c2b0f6f50083063b5e801b872f38d4f00307fe5d7a4f3977a108e5cd10c1c410";
    };
    dependencies = ["vim-addon-completion" "vim-addon-goto-thing-at-cursor" "vim-addon-errorformats" "vim-addon-actions" "vim-addon-mw-utils" "tlib"];

  };
  "vim-addon-other" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-other";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-other";
      rev = "f78720c9cb5bf871cabb13c7cbf94378dbf0163b";
      sha256 = "43f027e4b7576031072515c23c2b09f7f2c8bba7ee43a1e2041a4371bd954d1b";
    };
    dependencies = ["vim-addon-actions" "vim-addon-mw-utils"];

  };
  "vim-addon-php-manual" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-php-manual";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-php-manual";
      rev = "e09ccdce3d2132771d0bd32884553207cc7122d0";
      sha256 = "b2f44be3a1ceca9de7789ea9b5fd36035b720ea529f4301f3771b010d1e453c2";
    };
    dependencies = [];

  };
  "vim-addon-sql" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-sql";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-sql";
      rev = "05b8a0c211f1ae4c515c64e91dec555cdf20d90b";
      sha256 = "a1334ae694e0a03229bacc8ba7e08e7223df240244c7378e3f1bd91d74e957c2";
    };
    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];

  };
  "vim-addon-syntax-checker" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-syntax-checker";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-syntax-checker";
      rev = "8eb7217e636ca717d4de5cd03cc0180c5b66ae77";
      sha256 = "aef048e664653b5007df71ac24ed34ec55d8938c763d3f80885a122e445a9b3d";
    };
    dependencies = ["vim-addon-mw-utils" "tlib"];

  };
  "vim-addon-toggle-buffer" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-toggle-buffer";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-toggle-buffer";
      rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b";
      sha256 = "672166ecfe0599177afb56b444366f587f77e9659c256ac4e41ee45cb2df6055";
    };
    dependencies = ["vim-addon-mw-utils" "tlib"];

  };
  "vim-addon-xdebug" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-addon-xdebug";
    src = fetchgit {
      url = "git://github.com/MarcWeber/vim-addon-xdebug";
      rev = "45f26407305b4ce6f8f5f37d2b5e6e4354104172";
      sha256 = "0a7bf2caf36772c94bd25bfbf46bf628623809c9cfab447ff788eb74149464ef";
    };
    dependencies = ["WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async"];

  };
  "vim-airline" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-airline";
    src = fetchgit {
      url = "git://github.com/bling/vim-airline";
      rev = "4a2208821e1d334c4d3cdf66cd1fd0968755e16a";
      sha256 = "ea2d8bb459ae2cc378a46409c7e86db9b1cc8349bd3d2451c9a5db8ae9c8ea1d";
    };
    dependencies = [];

  };
  "vim-coffee-script" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-coffee-script";
    src = fetchgit {
      url = "git://github.com/kchmck/vim-coffee-script";
      rev = "827e4a38b07479433b619091469a7495a392df8a";
      sha256 = "89ee4c7cce9f3310be502df6b2dd2e70a715c0b06882afc9c8169fbf58b207d0";
    };
    dependencies = [];

  };
  "vim-easy-align" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-easy-align";
    src = fetchgit {
      url = "git://github.com/junegunn/vim-easy-align";
      rev = "246139c57c4a82a9787974165dfeb7bee7dacc9c";
      sha256 = "9205b94f985f633b5cbdde63a4c5a36ce5c4f92f8a89c124ff4ba66458f98cbf";
    };
    dependencies = [];

  };
  "vim-gitgutter" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-gitgutter";
    src = fetchgit {
      url = "git://github.com/airblade/vim-gitgutter";
      rev = "88c7916d2f653e13cbbcd2c461c83c403d09ca46";
      sha256 = "df56b3cd81a71cd3a4286d878a4cfd7b53c3b7b09f3cf45fa41653050315056c";
    };
    dependencies = [];

  };
  "vim-iced-coffee-script" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-iced-coffee-script";
    src = fetchgit {
      url = "git://github.com/noc7c9/vim-iced-coffee-script";
      rev = "e42e0775fa4b1f8840c55cd36ac3d1cedbc1dea2";
      sha256 = "c7859591975a51a1736f99a433d7ca3e7638b417340a0472a63995e16d8ece93";
    };
    dependencies = [];

  };
  "vim-latex-live-preview" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-latex-live-preview";
    src = fetchgit {
      url = "git://github.com/xuhdev/vim-latex-live-preview";
      rev = "18625ceca4de5984f3df50cdd0202fc13eb9e37c";
      sha256 = "261852d3830189a50176f997a4c6b4ec7e25893c5b7842a3eb57eb7771158722";
    };
    dependencies = [];

  };
  "vim-signature" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-signature";
    src = fetchgit {
      url = "git://github.com/kshenoy/vim-signature";
      rev = "598a9275668d772ca18cc052246b96edcbe61de0";
      sha256 = "1c410aaec24840b0e0566cd6e6df100ca3c7fb83d92337efdfc359494b6c49f8";
    };
    dependencies = [];

  };
  "vim-snippets" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim-snippets";
    src = fetchgit {
      url = "git://github.com/honza/vim-snippets";
      rev = "436038094a27ed635aaa11ebf50ccddc2d4b9328";
      sha256 = "1db34df31ff1526394de42997e21b47cea152dc2c014dbbb1f3bbeb8986820e1";
    };
    dependencies = [];

  };
  "vim2hs" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vim2hs";
    src = fetchgit {
      url = "git://github.com/dag/vim2hs";
      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
      sha256 = "485fc58595bb4e50f2239bec5a4cbb0d8f5662aa3f744e42c110cd1d66b7e5b0";
    };
    dependencies = [];

  };
  "vundle" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "vundle";
    src = fetchgit {
      url = "git://github.com/gmarik/vundle";
      rev = "0b28e334e65b6628b0a61c412fcb45204a2f2bab";
      sha256 = "9681d471d1391626cb9ad22b2b469003d9980cd23c5c3a8d34666376447e6204";
    };
    dependencies = [];

  };
  "wombat256" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
    name = "wombat256";
    src = fetchurl {
      url = "http://www.vim.org/scripts/download_script.php?src_id=13400";
      name = "wombat256mod.vim";
      sha256 = "1san0jg9sfm6chhnr1wc5nhczlp11ibca0v7i4gf68h9ick9mysn";
    };
    buildInputs = [ unzip ];
    dependencies = [];
    meta = {
       url = "http://www.vim.org/scripts/script.php?script_id=2465";
    };


  };


}
