|
|
|
@ -1,10 +1,9 @@ |
|
|
|
|
{config, lib, stdenv |
|
|
|
|
, python, cmake, vim, vimUtils, ruby |
|
|
|
|
{ lib, stdenv |
|
|
|
|
, python, cmake, vim, ruby |
|
|
|
|
, which, fetchgit, llvmPackages, rustPlatform |
|
|
|
|
, xkb_switch, fzf, skim |
|
|
|
|
, python3, boost, icu, ncurses |
|
|
|
|
, ycmd, rake |
|
|
|
|
, pythonPackages, python3Packages |
|
|
|
|
, substituteAll |
|
|
|
|
, languagetool |
|
|
|
|
, Cocoa, CoreFoundation, CoreServices |
|
|
|
@ -17,50 +16,22 @@ |
|
|
|
|
, impl, iferr, gocode, gocode-gomod, go-tools |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
let |
|
|
|
|
|
|
|
|
|
_skim = skim; |
|
|
|
|
|
|
|
|
|
in |
|
|
|
|
|
|
|
|
|
generated: |
|
|
|
|
|
|
|
|
|
rec { |
|
|
|
|
|
|
|
|
|
# list of plugins that are needed as dependencies somewhere |
|
|
|
|
# This is necessary (as opposed to `with generated;`) because |
|
|
|
|
# there would otherwise be conflicts with `rec`. `rec` is necessary |
|
|
|
|
# however to make sure overriden plugins can be used as dependencies. |
|
|
|
|
# This should use a proper package set with fixed-points instead. |
|
|
|
|
inherit (generated) |
|
|
|
|
self |
|
|
|
|
webapi-vim |
|
|
|
|
nvim-yarp |
|
|
|
|
ultisnips |
|
|
|
|
vim-addon-mw-utils |
|
|
|
|
tlib_vim |
|
|
|
|
vim-addon-signs |
|
|
|
|
vim-addon-other |
|
|
|
|
vim-addon-errorformats |
|
|
|
|
vim-maktaba |
|
|
|
|
vim-misc; |
|
|
|
|
self: super: { |
|
|
|
|
|
|
|
|
|
vim2nix = buildVimPluginFrom2Nix { |
|
|
|
|
name = "vim2nix"; |
|
|
|
|
src = ./vim2nix; |
|
|
|
|
dependencies = [ vim-addon-manager ]; |
|
|
|
|
dependencies = with super; [ vim-addon-manager ]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
fzfWrapper = buildVimPluginFrom2Nix { |
|
|
|
|
name = fzf.name; |
|
|
|
|
src = fzf.src; |
|
|
|
|
dependencies = []; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
skim = buildVimPluginFrom2Nix { |
|
|
|
|
name = _skim.name; |
|
|
|
|
src = _skim.vim; |
|
|
|
|
dependencies = []; |
|
|
|
|
name = skim.name; |
|
|
|
|
src = skim.vim; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
LanguageClient-neovim = let |
|
|
|
@ -86,7 +57,6 @@ rec { |
|
|
|
|
name = "LanguageClient-neovim-2018-09-07"; |
|
|
|
|
src = LanguageClient-neovim-src; |
|
|
|
|
|
|
|
|
|
dependencies = []; |
|
|
|
|
propogatedBuildInputs = [ LanguageClient-neovim-bin ]; |
|
|
|
|
|
|
|
|
|
preFixup = '' |
|
|
|
@ -103,10 +73,9 @@ rec { |
|
|
|
|
rev = "69cce66defdf131958f152ea7a7b26c21ca9d009"; |
|
|
|
|
sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc"; |
|
|
|
|
}; |
|
|
|
|
dependencies = []; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
clang_complete = generated.clang_complete.overrideAttrs(old: { |
|
|
|
|
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). |
|
|
|
@ -123,14 +92,14 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
clighter8 = generated.clighter8.overrideAttrs(old: { |
|
|
|
|
clighter8 = super.clighter8.overrideAttrs(old: { |
|
|
|
|
preFixup = '' |
|
|
|
|
sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \ |
|
|
|
|
-i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
command-t = generated.command-t.overrideAttrs(old: { |
|
|
|
|
command-t = super.command-t.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ ruby rake ]; |
|
|
|
|
buildPhase = '' |
|
|
|
|
rake make |
|
|
|
@ -138,7 +107,7 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
cpsm = generated.cpsm.overrideAttrs(old: { |
|
|
|
|
cpsm = super.cpsm.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ |
|
|
|
|
python3 |
|
|
|
|
stdenv |
|
|
|
@ -154,7 +123,7 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
ctrlp-cmatcher = generated.ctrlp-cmatcher.overrideAttrs(old: { |
|
|
|
|
ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ python ]; |
|
|
|
|
buildPhase = '' |
|
|
|
|
patchShebangs . |
|
|
|
@ -162,7 +131,7 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
deoplete-go = generated.deoplete-go.overrideAttrs(old: { |
|
|
|
|
deoplete-go = super.deoplete-go.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ python3 ]; |
|
|
|
|
buildPhase = '' |
|
|
|
|
pushd ./rplugin/python3/deoplete/ujson |
|
|
|
@ -172,33 +141,33 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
ensime-vim = generated.ensime-vim.overrideAttrs(old: { |
|
|
|
|
ensime-vim = super.ensime-vim.overrideAttrs(old: { |
|
|
|
|
passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ]; |
|
|
|
|
dependencies = [ vimproc-vim vimshell-vim self forms ]; |
|
|
|
|
dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
forms = generated.forms.overrideAttrs(old: { |
|
|
|
|
dependencies = [ self ]; |
|
|
|
|
forms = super.forms.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ super.self ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
gist-vim = generated.gist-vim.overrideAttrs(old: { |
|
|
|
|
dependencies = [ webapi-vim ]; |
|
|
|
|
gist-vim = super.gist-vim.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ webapi-vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
ncm2 = generated.ncm2.overrideAttrs(old: { |
|
|
|
|
dependencies = [ nvim-yarp ]; |
|
|
|
|
ncm2 = super.ncm2.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ nvim-yarp ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
ncm2-jedi = generated.ncm2-jedi.overrideAttrs(old: { |
|
|
|
|
dependencies = [ nvim-yarp ncm2 ]; |
|
|
|
|
ncm2-jedi = super.ncm2-jedi.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ nvim-yarp ncm2 ]; |
|
|
|
|
passthru.python3Dependencies = ps: with ps; [ jedi ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
ncm2-ultisnips = generated.ncm2-ultisnips.overrideAttrs(old: { |
|
|
|
|
dependencies = [ ultisnips ]; |
|
|
|
|
ncm2-ultisnips = super.ncm2-ultisnips.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ ultisnips ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
taglist-vim = generated.taglist-vim.overrideAttrs(old: { |
|
|
|
|
taglist-vim = super.taglist-vim.overrideAttrs(old: { |
|
|
|
|
setSourceRoot = '' |
|
|
|
|
export sourceRoot=taglist |
|
|
|
|
mkdir taglist |
|
|
|
@ -207,40 +176,40 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vimshell-vim = generated.vimshell-vim.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vimproc-vim ]; |
|
|
|
|
vimshell-vim = super.vimshell-vim.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vimproc-vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-manager = generated.vim-addon-manager.overrideAttrs(old: { |
|
|
|
|
vim-addon-manager = super.vim-addon-manager.overrideAttrs(old: { |
|
|
|
|
buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-actions = generated.vim-addon-actions.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
vim-addon-actions = super.vim-addon-actions.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-async = generated.vim-addon-async.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-signs ]; |
|
|
|
|
vim-addon-async = super.vim-addon-async.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-signs ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-background-cmd = generated.vim-addon-background-cmd.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-mw-utils ]; |
|
|
|
|
vim-addon-background-cmd = super.vim-addon-background-cmd.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-mw-utils ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-completion = generated.vim-addon-completion.overrideAttrs(old: { |
|
|
|
|
dependencies = [ tlib_vim ]; |
|
|
|
|
vim-addon-completion = super.vim-addon-completion.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-goto-thing-at-cursor = generated.vim-addon-goto-thing-at-cursor.overrideAttrs(old: { |
|
|
|
|
dependencies = [ tlib_vim ]; |
|
|
|
|
vim-addon-goto-thing-at-cursor = super.vim-addon-goto-thing-at-cursor.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-mru = generated.vim-addon-mru.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-other vim-addon-mw-utils ]; |
|
|
|
|
vim-addon-mru = super.vim-addon-mru.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-other vim-addon-mw-utils ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-nix = generated.vim-addon-nix.overrideAttrs(old: { |
|
|
|
|
dependencies = [ |
|
|
|
|
vim-addon-nix = super.vim-addon-nix.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ |
|
|
|
|
vim-addon-completion |
|
|
|
|
vim-addon-goto-thing-at-cursor |
|
|
|
|
vim-addon-errorformats |
|
|
|
@ -249,38 +218,38 @@ rec { |
|
|
|
|
]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-sql = generated.vim-addon-sql.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-completion vim-addon-background-cmd tlib_vim ]; |
|
|
|
|
vim-addon-sql = super.vim-addon-sql.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-completion vim-addon-background-cmd tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-syntax-checker = generated.vim-addon-syntax-checker.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-toggle-buffer = generated.vim-addon-toggle-buffer.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-addon-xdebug = generated.vim-addon-xdebug.overrideAttrs(old: { |
|
|
|
|
dependencies = [ webapi-vim vim-addon-mw-utils vim-addon-signs vim-addon-async ]; |
|
|
|
|
vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ webapi-vim vim-addon-mw-utils vim-addon-signs vim-addon-async ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-bazel = generated.vim-bazel.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-maktaba ]; |
|
|
|
|
vim-bazel = super.vim-bazel.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-maktaba ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-codefmt = generated.vim-codefmt.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-maktaba ]; |
|
|
|
|
vim-codefmt = super.vim-codefmt.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-maktaba ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-easytags = generated.vim-easytags.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-misc ]; |
|
|
|
|
vim-easytags = super.vim-easytags.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-misc ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
# change the go_bin_path to point to a path in the nix store. See the code in |
|
|
|
|
# fatih/vim-go here |
|
|
|
|
# https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159 |
|
|
|
|
vim-go = generated.vim-go.overrideAttrs(old: let |
|
|
|
|
vim-go = super.vim-go.overrideAttrs(old: let |
|
|
|
|
binPath = lib.makeBinPath [ |
|
|
|
|
asmfmt |
|
|
|
|
delve |
|
|
|
@ -308,7 +277,7 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-grammarous = generated.vim-grammarous.overrideAttrs(old: { |
|
|
|
|
vim-grammarous = super.vim-grammarous.overrideAttrs(old: { |
|
|
|
|
# use `:GrammarousCheck` to initialize checking |
|
|
|
|
# In neovim, you also want to use set |
|
|
|
|
# let g:grammarous#show_first_error = 1 |
|
|
|
@ -321,31 +290,31 @@ rec { |
|
|
|
|
]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-hier = generated.vim-hier.overrideAttrs(old: { |
|
|
|
|
vim-hier = super.vim-hier.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-isort = generated.vim-isort.overrideAttrs(old: { |
|
|
|
|
vim-isort = super.vim-isort.overrideAttrs(old: { |
|
|
|
|
postPatch = '' |
|
|
|
|
substituteInPlace ftplugin/python_vimisort.vim \ |
|
|
|
|
--replace 'import vim' 'import vim; import sys; sys.path.append("${pythonPackages.isort}/${python.sitePackages}")' |
|
|
|
|
--replace 'import vim' 'import vim; import sys; sys.path.append("${python.pkgs.isort}/${python.sitePackages}")' |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-snipmate = generated.vim-snipmate.overrideAttrs(old: { |
|
|
|
|
dependencies = [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
vim-snipmate = super.vim-snipmate.overrideAttrs(old: { |
|
|
|
|
dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vim-wakatime = generated.vim-wakatime.overrideAttrs(old: { |
|
|
|
|
vim-wakatime = super.vim-wakatime.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ python ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-xdebug = generated.vim-xdebug.overrideAttrs(old: { |
|
|
|
|
vim-xdebug = super.vim-xdebug.overrideAttrs(old: { |
|
|
|
|
postInstall = false; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-xkbswitch = generated.vim-xkbswitch.overrideAttrs(old: { |
|
|
|
|
vim-xkbswitch = super.vim-xkbswitch.overrideAttrs(old: { |
|
|
|
|
patchPhase = '' |
|
|
|
|
substituteInPlace plugin/xkbswitch.vim \ |
|
|
|
|
--replace /usr/local/lib/libxkbswitch.so ${xkb_switch}/lib/libxkbswitch.so |
|
|
|
@ -353,14 +322,14 @@ rec { |
|
|
|
|
buildInputs = [ xkb_switch ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vim-yapf = generated.vim-yapf.overrideAttrs(old: { |
|
|
|
|
vim-yapf = super.vim-yapf.overrideAttrs(old: { |
|
|
|
|
buildPhase = '' |
|
|
|
|
substituteInPlace ftplugin/python_yapf.vim \ |
|
|
|
|
--replace '"yapf"' '"${python3Packages.yapf}/bin/yapf"' |
|
|
|
|
--replace '"yapf"' '"${python3.pkgs.yapf}/bin/yapf"' |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vimproc-vim = generated.vimproc-vim.overrideAttrs(old: { |
|
|
|
|
vimproc-vim = super.vimproc-vim.overrideAttrs(old: { |
|
|
|
|
buildInputs = [ which ]; |
|
|
|
|
|
|
|
|
|
buildPhase = '' |
|
|
|
@ -372,11 +341,11 @@ rec { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
YankRing-vim = generated.YankRing-vim.overrideAttrs(old: { |
|
|
|
|
YankRing-vim = super.YankRing-vim.overrideAttrs(old: { |
|
|
|
|
sourceRoot = "."; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
youcompleteme = generated.youcompleteme.overrideAttrs(old: { |
|
|
|
|
youcompleteme = super.youcompleteme.overrideAttrs(old: { |
|
|
|
|
buildPhase = '' |
|
|
|
|
substituteInPlace plugin/youcompleteme.vim \ |
|
|
|
|
--replace "'ycm_path_to_python_interpreter', '''" \ |
|
|
|
@ -395,9 +364,9 @@ rec { |
|
|
|
|
}; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
jedi-vim = generated.jedi-vim.overrideAttrs(old: { |
|
|
|
|
jedi-vim = super.jedi-vim.overrideAttrs(old: { |
|
|
|
|
# checking for python3 support in vim would be neat, too, but nobody else seems to care |
|
|
|
|
buildInputs = [ python3Packages.jedi ]; |
|
|
|
|
buildInputs = [ python3.pkgs.jedi ]; |
|
|
|
|
meta = { |
|
|
|
|
description = "code-completion for python using python-jedi"; |
|
|
|
|
license = stdenv.lib.licenses.mit; |
|
|
|
|