diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index f5053c2ec6e8..b30413ac79c6 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -5,8 +5,8 @@ let inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix; - generated = callPackage ./generated.nix { - inherit buildVimPluginFrom2Nix; + plugins = callPackage ./generated.nix { + inherit buildVimPluginFrom2Nix overrides; }; # TL;DR @@ -22,10 +22,8 @@ let inherit llvmPackages; }; - overriden = generated // (overrides generated); - - aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib overriden); + aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins); in -overriden // aliases +plugins // aliases diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 89406e923054..5ac1793070b1 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -1,5 +1,8 @@ # This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit! -{ buildVimPluginFrom2Nix, fetchFromGitHub }: +{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }: + +let + packages = ( self: { a-vim = buildVimPluginFrom2Nix { @@ -3983,4 +3986,6 @@ sha256 = "04pv7mmlz9ccgzfg8sycqxplaxpbyh7pmhwcw47b2xwnazjz49d6"; }; }; -} \ No newline at end of file +}); + +in lib.fix' (lib.extends overrides packages) diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix index d0e55cb4c3f6..a35e7aaf4641 100644 --- a/pkgs/misc/vim-plugins/overrides.nix +++ b/pkgs/misc/vim-plugins/overrides.nix @@ -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;