diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix index 9d07ee434f5b..0059f0257536 100644 --- a/pkgs/misc/vim-plugins/overrides.nix +++ b/pkgs/misc/vim-plugins/overrides.nix @@ -80,67 +80,6 @@ self: super: { - vim2nix = buildVimPluginFrom2Nix { - pname = "vim2nix"; - version = "1.0"; - src = ./vim2nix; - dependencies = with super; [ vim-addon-manager ]; - }; - - # Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim - # plugin, since part of the fzf vim plugin is included in the main fzf - # program. - fzfWrapper = buildVimPluginFrom2Nix { - inherit (fzf) src version; - pname = "fzf"; - postInstall = '' - ln -s ${fzf}/bin/fzf $target/bin/fzf - ''; - }; - - skim = buildVimPluginFrom2Nix { - pname = "skim"; - version = skim.version; - src = skim.vim; - }; - - LanguageClient-neovim = - let - version = "0.1.161"; - LanguageClient-neovim-src = fetchFromGitHub { - owner = "autozimu"; - repo = "LanguageClient-neovim"; - rev = version; - sha256 = "Z9S2ie9RxJCIbmjSV/Tto4lK04cZfWmK3IAy8YaySVI="; - }; - LanguageClient-neovim-bin = rustPlatform.buildRustPackage { - pname = "LanguageClient-neovim-bin"; - inherit version; - src = LanguageClient-neovim-src; - - cargoSha256 = "H34UqJ6JOwuSABdOup5yKeIwFrGc83TUnw1ggJEx9o4="; - buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; - - # FIXME: Use impure version of CoreFoundation because of missing symbols. - # Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable" - preConfigure = lib.optionalString stdenv.isDarwin '' - export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS" - ''; - }; - in - buildVimPluginFrom2Nix { - pname = "LanguageClient-neovim"; - inherit version; - src = LanguageClient-neovim-src; - - propagatedBuildInputs = [ LanguageClient-neovim-bin ]; - - preFixup = '' - substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \ - --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'" - ''; - }; - 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++). @@ -156,14 +95,6 @@ self: super: { ''; }); - direnv-vim = super.direnv-vim.overrideAttrs (oa: { - preFixup = oa.preFixup or "" + '' - substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \ - --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \ - "let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')" - ''; - }); - clighter8 = super.clighter8.overrideAttrs (old: { preFixup = '' sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \ @@ -179,6 +110,24 @@ self: super: { ''; }); + compe-tabnine = super.compe-tabnine.overrideAttrs (old: { + buildInputs = [ tabnine ]; + + postFixup = '' + mkdir $target/binaries + ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s) + ''; + }); + + completion-tabnine = super.completion-tabnine.overrideAttrs (old: { + buildInputs = [ tabnine ]; + + postFixup = '' + mkdir $target/binaries + ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s) + ''; + }); + cpsm = super.cpsm.overrideAttrs (old: { buildInputs = [ python3 @@ -232,6 +181,14 @@ self: super: { }; }); + direnv-vim = super.direnv-vim.overrideAttrs (oa: { + preFixup = oa.preFixup or "" + '' + substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \ + --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \ + "let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')" + ''; + }); + ensime-vim = super.ensime-vim.overrideAttrs (old: { passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ]; dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ]; @@ -276,22 +233,93 @@ self: super: { ''; }); + fzf-vim = super.fzf-vim.overrideAttrs (old: { + dependencies = [ self.fzfWrapper ]; + }); + + # Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim + # plugin, since part of the fzf vim plugin is included in the main fzf + # program. + fzfWrapper = buildVimPluginFrom2Nix { + inherit (fzf) src version; + pname = "fzf"; + postInstall = '' + ln -s ${fzf}/bin/fzf $target/bin/fzf + ''; + }; + ghcid = super.ghcid.overrideAttrs (old: { configurePhase = "cd plugins/nvim"; }); - vimsence = super.vimsence.overrideAttrs (old: { - meta = with lib; { - description = "Discord rich presence for Vim"; - homepage = "https://github.com/hugolgst/vimsence"; - maintainers = with lib.maintainers; [ hugolgst ]; + jedi-vim = super.jedi-vim.overrideAttrs (old: { + # checking for python3 support in vim would be neat, too, but nobody else seems to care + buildInputs = [ python3.pkgs.jedi ]; + meta = { + description = "code-completion for python using python-jedi"; + license = lib.licenses.mit; }; }); - vim-gist = super.vim-gist.overrideAttrs (old: { - dependencies = with super; [ webapi-vim ]; + LanguageClient-neovim = + let + version = "0.1.161"; + LanguageClient-neovim-src = fetchFromGitHub { + owner = "autozimu"; + repo = "LanguageClient-neovim"; + rev = version; + sha256 = "Z9S2ie9RxJCIbmjSV/Tto4lK04cZfWmK3IAy8YaySVI="; + }; + LanguageClient-neovim-bin = rustPlatform.buildRustPackage { + pname = "LanguageClient-neovim-bin"; + inherit version; + src = LanguageClient-neovim-src; + + cargoSha256 = "H34UqJ6JOwuSABdOup5yKeIwFrGc83TUnw1ggJEx9o4="; + buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; + + # FIXME: Use impure version of CoreFoundation because of missing symbols. + # Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable" + preConfigure = lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS" + ''; + }; + in + buildVimPluginFrom2Nix { + pname = "LanguageClient-neovim"; + inherit version; + src = LanguageClient-neovim-src; + + propagatedBuildInputs = [ LanguageClient-neovim-bin ]; + + preFixup = '' + substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \ + --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'" + ''; + }; + + lens-vim = super.lens-vim.overrideAttrs (old: { + # remove duplicate g:lens#animate in doc/lens.txt + # https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985 + # https://github.com/camspiers/lens.vim/pull/40/files + patches = [ + (substituteAll { + src = ./patches/lens-vim/remove_duplicate_g_lens_animate.patch; + inherit languagetool; + }) + ]; }); + lf-vim = super.lf-vim.overrideAttrs (old: { + dependencies = with super; [ vim-floaterm ]; + }); + + meson = buildVimPluginFrom2Nix { + inherit (meson) pname version src; + preInstall = "cd data/syntax-highlighting/vim"; + meta.maintainers = with lib.maintainers; [ vcunat ]; + }; + minimap-vim = super.minimap-vim.overrideAttrs (old: { preFixup = '' substituteInPlace $out/share/vim-plugins/minimap-vim/plugin/minimap.vim \ @@ -301,12 +329,6 @@ self: super: { ''; }); - meson = buildVimPluginFrom2Nix { - inherit (meson) pname version src; - preInstall = "cd data/syntax-highlighting/vim"; - meta.maintainers = with lib.maintainers; [ vcunat ]; - }; - ncm2 = super.ncm2.overrideAttrs (old: { dependencies = with super; [ nvim-yarp ]; }); @@ -336,14 +358,16 @@ self: super: { dependencies = with super; [ popfix ]; }); - fzf-vim = super.fzf-vim.overrideAttrs (old: { - dependencies = [ self.fzfWrapper ]; - }); - onehalf = super.onehalf.overrideAttrs (old: { configurePhase = "cd vim"; }); + skim = buildVimPluginFrom2Nix { + pname = "skim"; + version = skim.version; + src = skim.vim; + }; + skim-vim = super.skim-vim.overrideAttrs (old: { dependencies = [ self.skim ]; }); @@ -384,30 +408,60 @@ self: super: { }; }); - vimacs = super.vimacs.overrideAttrs (old: { - buildPhase = '' - substituteInPlace bin/vim \ - --replace '/usr/bin/vim' 'vim' \ - --replace '/usr/bin/gvim' 'gvim' - # remove unnecessary duplicated bin wrapper script - rm -r plugin/vimacs - ''; - meta = with lib; { - description = "Vim-Improved eMACS: Emacs emulation plugin for Vim"; - homepage = "http://algorithm.com.au/code/vimacs"; - license = licenses.gpl2Plus; - maintainers = with lib.maintainers; [ millerjason ]; + telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: { + dependencies = [ self.sql-nvim ]; + }); + + telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: { + preFixup = + let + fzy-lua-native-path = "deps/fzy-lua-native"; + fzy-lua-native = + stdenv.mkDerivation { + name = "fzy-lua-native"; + src = "${old.src}/${fzy-lua-native-path}"; + # remove pre-compiled binaries + preBuild = "rm -rf static/*"; + installPhase = '' + install -Dm 444 -t $out/static static/* + install -Dm 444 -t $out/lua lua/* + ''; + }; + in + '' + rm -rf $target/${fzy-lua-native-path}/* + ln -s ${fzy-lua-native}/static $target/${fzy-lua-native-path}/static + ln -s ${fzy-lua-native}/lua $target/${fzy-lua-native-path}/lua + ''; + meta.platforms = lib.platforms.all; + }); + + unicode-vim = + let + unicode-data = fetchurl { + url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt"; + sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9"; + }; + in + super.unicode-vim.overrideAttrs (old: { + + # redirect to /dev/null else changes terminal color + buildPhase = '' + cp "${unicode-data}" autoload/unicode/UnicodeData.txt + echo "Building unicode cache" + ${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null + ''; + }); + + vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: { + # on linux can use either Zenity or Yad. + propagatedBuildInputs = [ gnome3.zenity ]; + meta = { + description = "Simple color selector/picker plugin"; + license = lib.licenses.publicDomain; }; }); - vimshell-vim = super.vimshell-vim.overrideAttrs (old: { - dependencies = with super; [ vimproc-vim ]; - }); - - vim-addon-manager = super.vim-addon-manager.overrideAttrs (old: { - buildInputs = lib.optional stdenv.isDarwin Cocoa; - }); - vim-addon-actions = super.vim-addon-actions.overrideAttrs (old: { dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; }); @@ -428,6 +482,10 @@ self: super: { dependencies = with super; [ tlib_vim ]; }); + vim-addon-manager = super.vim-addon-manager.overrideAttrs (old: { + buildInputs = lib.optional stdenv.isDarwin Cocoa; + }); + vim-addon-mru = super.vim-addon-mru.overrideAttrs (old: { dependencies = with super; [ vim-addon-other vim-addon-mw-utils ]; }); @@ -467,6 +525,36 @@ self: super: { passthru.python3Dependencies = ps: with ps; [ beancount ]; }); + vim-clap = super.vim-clap.overrideAttrs (old: { + preFixup = + let + maple-bin = rustPlatform.buildRustPackage { + name = "maple"; + src = old.src; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + CoreServices + curl + libgit2 + libiconv + ]; + + cargoSha256 = "25UkYKhlGmlDg4fz1jZHjpQn5s4k5FKlFK0MU8YM5SE="; + }; + in + '' + ln -s ${maple-bin}/bin/maple $target/bin/maple + ''; + + meta.platforms = lib.platforms.all; + }); + vim-closer = super.vim-closer.overrideAttrs (old: { patches = [ # Fix duplicate tag in doc @@ -533,6 +621,10 @@ self: super: { ''; }); + vim-gist = super.vim-gist.overrideAttrs (old: { + dependencies = with super; [ webapi-vim ]; + }); + vim-grammarous = super.vim-grammarous.overrideAttrs (old: { # use `:GrammarousCheck` to initialize checking # In neovim, you also want to use set @@ -546,16 +638,20 @@ self: super: { ]; }); - lens-vim = super.lens-vim.overrideAttrs (old: { - # remove duplicate g:lens#animate in doc/lens.txt - # https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985 - # https://github.com/camspiers/lens.vim/pull/40/files - patches = [ - (substituteAll { - src = ./patches/lens-vim/remove_duplicate_g_lens_animate.patch; - inherit languagetool; - }) - ]; + vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: { + preFixup = + let + hexokinase = buildGoModule { + name = "hexokinase"; + src = old.src + "/hexokinase"; + vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; + }; + in + '' + ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase + ''; + + meta.platforms = lib.platforms.all; }); vim-hier = super.vim-hier.overrideAttrs (old: { @@ -593,6 +689,13 @@ self: super: { dependencies = with super; [ vim-addon-mw-utils tlib_vim ]; }); + vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: { + postPatch = old.postPatch or "" + '' + substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace \ + 'g:stylish_haskell_command = "stylish-haskell"' \ + 'g:stylish_haskell_command = "${stylish-haskell}/bin/stylish-haskell"' + ''; + }); vim-wakatime = super.vim-wakatime.overrideAttrs (old: { buildInputs = [ python ]; @@ -617,6 +720,37 @@ self: super: { ''; }); + vim2nix = buildVimPluginFrom2Nix { + pname = "vim2nix"; + version = "1.0"; + src = ./vim2nix; + dependencies = with super; [ vim-addon-manager ]; + }; + + vimacs = super.vimacs.overrideAttrs (old: { + buildPhase = '' + substituteInPlace bin/vim \ + --replace '/usr/bin/vim' 'vim' \ + --replace '/usr/bin/gvim' 'gvim' + # remove unnecessary duplicated bin wrapper script + rm -r plugin/vimacs + ''; + meta = with lib; { + description = "Vim-Improved eMACS: Emacs emulation plugin for Vim"; + homepage = "http://algorithm.com.au/code/vimacs"; + license = licenses.gpl2Plus; + maintainers = with lib.maintainers; [ millerjason ]; + }; + }); + + vimsence = super.vimsence.overrideAttrs (old: { + meta = with lib; { + description = "Discord rich presence for Vim"; + homepage = "https://github.com/hugolgst/vimsence"; + maintainers = with lib.maintainers; [ hugolgst ]; + }; + }); + vimproc-vim = super.vimproc-vim.overrideAttrs (old: { buildInputs = [ which ]; @@ -629,6 +763,10 @@ self: super: { ''; }); + vimshell-vim = super.vimshell-vim.overrideAttrs (old: { + dependencies = with super; [ vimproc-vim ]; + }); + YankRing-vim = super.YankRing-vim.overrideAttrs (old: { sourceRoot = "."; }); @@ -652,145 +790,6 @@ self: super: { }; }); - jedi-vim = super.jedi-vim.overrideAttrs (old: { - # checking for python3 support in vim would be neat, too, but nobody else seems to care - buildInputs = [ python3.pkgs.jedi ]; - meta = { - description = "code-completion for python using python-jedi"; - license = lib.licenses.mit; - }; - }); - - lf-vim = super.lf-vim.overrideAttrs (old: { - dependencies = with super; [ vim-floaterm ]; - }); - - vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: { - postPatch = old.postPatch or "" + '' - substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace \ - 'g:stylish_haskell_command = "stylish-haskell"' \ - 'g:stylish_haskell_command = "${stylish-haskell}/bin/stylish-haskell"' - ''; - }); - - vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: { - # on linux can use either Zenity or Yad. - propagatedBuildInputs = [ gnome3.zenity ]; - meta = { - description = "Simple color selector/picker plugin"; - license = lib.licenses.publicDomain; - }; - }); - - unicode-vim = - let - unicode-data = fetchurl { - url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt"; - sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9"; - }; - in - super.unicode-vim.overrideAttrs (old: { - - # redirect to /dev/null else changes terminal color - buildPhase = '' - cp "${unicode-data}" autoload/unicode/UnicodeData.txt - echo "Building unicode cache" - ${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null - ''; - }); - - vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: { - preFixup = - let - hexokinase = buildGoModule { - name = "hexokinase"; - src = old.src + "/hexokinase"; - vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; - }; - in - '' - ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase - ''; - - meta.platforms = lib.platforms.all; - }); - - vim-clap = super.vim-clap.overrideAttrs (old: { - preFixup = - let - maple-bin = rustPlatform.buildRustPackage { - name = "maple"; - src = old.src; - - nativeBuildInputs = [ - pkg-config - ]; - - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.isDarwin [ - CoreServices - curl - libgit2 - libiconv - ]; - - cargoSha256 = "25UkYKhlGmlDg4fz1jZHjpQn5s4k5FKlFK0MU8YM5SE="; - }; - in - '' - ln -s ${maple-bin}/bin/maple $target/bin/maple - ''; - - meta.platforms = lib.platforms.all; - }); - - compe-tabnine = super.compe-tabnine.overrideAttrs (old: { - buildInputs = [ tabnine ]; - - postFixup = '' - mkdir $target/binaries - ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s) - ''; - }); - - completion-tabnine = super.completion-tabnine.overrideAttrs (old: { - buildInputs = [ tabnine ]; - - postFixup = '' - mkdir $target/binaries - ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s) - ''; - }); - - telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: { - dependencies = [ self.sql-nvim ]; - }); - - telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: { - preFixup = - let - fzy-lua-native-path = "deps/fzy-lua-native"; - fzy-lua-native = - stdenv.mkDerivation { - name = "fzy-lua-native"; - src = "${old.src}/${fzy-lua-native-path}"; - # remove pre-compiled binaries - preBuild = "rm -rf static/*"; - installPhase = '' - install -Dm 444 -t $out/static static/* - install -Dm 444 -t $out/lua lua/* - ''; - }; - in - '' - rm -rf $target/${fzy-lua-native-path}/* - ln -s ${fzy-lua-native}/static $target/${fzy-lua-native-path}/static - ln -s ${fzy-lua-native}/lua $target/${fzy-lua-native-path}/lua - ''; - meta.platforms = lib.platforms.all; - }); - } // ( let nodePackageNames = [