{ lib
, stdenv
# nixpkgs functions
, buildGoModule
, buildVimPluginFrom2Nix
, fetchFromGitHub
, fetchpatch
, fetchurl
, substituteAll
# Language dependencies
, python2
, python3
, rustPlatform
# Misc dependencies
, Cocoa
, code-minimap
, dasht
, direnv
, fish
, fzf
, gawk
, git
, gnome
, himalaya
, jq
, khard
, languagetool
, llvmPackages
, meson
, nim
, nodePackages
, pandoc
, parinfer-rust
, ripgrep
, skim
, sqlite
, statix
, stylish-haskell
, tabnine
, tmux
, tup
, vim
, which
, xkb-switch
, ycmd
, zoxide
, nodejs
, xdotool
, xorg
, zsh
# command-t dependencies
, rake
, ruby
# cpsm dependencies
, boost
, cmake
, icu
, ncurses
# LanguageClient-neovim dependencies
, CoreFoundation
, CoreServices
# nvim-treesitter dependencies
, tree-sitter
# sved dependencies
, glib
, gobject-introspection
, wrapGAppsHook
# sniprun dependencies
, bashInteractive
, coreutils
, curl
, gnugrep
, gnused
, makeWrapper
, procps
# vim-clap dependencies
, libgit2
, libiconv
, openssl
, pkg-config
# vim-go dependencies
, asmfmt
, delve
, errcheck
, go-motion
, go-tools
, gocode
, gocode-gomod
, godef
, gogetdoc
, golangci-lint
, golint
, gomodifytags
, gopls
, gotools
, iferr
, impl
, reftools
# must be lua51Packages
, luaPackages
}:
self: super: {
clang_complete = super.clang_complete.overrideAttrs (old: {
# In addition to the arguments you pass to your compiler, you also need to
# specify the path of the C++ std header (if you are using C++).
# These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
# The linked ruby code shows generates the required '.clang_complete' for cmake based projects
# https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
preFixup = ''
substituteInPlace "$out"/plugin/clang_complete.vim \
--replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.libclang.lib}/lib/libclang.so'"
substituteInPlace "$out"/plugin/libclang.py \
--replace "/usr/lib/clang" "${llvmPackages.clang.cc}/lib/clang"
'';
});
clighter8 = super.clighter8.overrideAttrs (old: {
preFixup = ''
sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
-i "$out"/plugin/clighter8.vim
'';
});
cmp-clippy = super.cmp-clippy.overrideAttrs (old: {
dependencies = with self; [ nvim-cmp plenary-nvim ];
});
cmp-copilot = super.cmp-copilot.overrideAttrs (old: {
dependencies = with self; [ nvim-cmp copilot-vim ];
});
cmp-dap = super.cmp-dap.overrideAttrs (old: {
dependencies = with self; [ nvim-cmp nvim-dap ];
});
cmp-dictionary = super.cmp-dictionary.overrideAttrs (old: {
dependencies = with self; [ nvim-cmp ];
});
cmp-digraphs = super.cmp-digraphs.overrideAttrs (old: {
dependencies = <