diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index 9a591bd0129a..da139623a25c 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -139,9 +139,9 @@ Note: this is not possible anymore for Neovim. ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs} -Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). +Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). -When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`. +When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/update.py) to update the tree sitter grammars for `nvim-treesitter`. Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index 572ba29d2681..80d7196a1b51 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -116,6 +116,7 @@ mapAliases ( snipmate = vim-snipmate; sourcemap = sourcemap-vim; "sourcemap.vim" = sourcemap-vim; + Spacegray-vim = throw "Spacegray-vim has been removed: abandoned by upstream"; # Added 2025-03-24 surround = vim-surround; sleuth = vim-sleuth; solidity = vim-solidity; diff --git a/pkgs/applications/editors/vim/plugins/cocPlugins.nix b/pkgs/applications/editors/vim/plugins/cocPlugins.nix new file mode 100644 index 000000000000..508f0452724b --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/cocPlugins.nix @@ -0,0 +1,36 @@ +{ + buildVimPlugin, + coc-clangd, + coc-css, + coc-diagnostic, + coc-pyright, + coc-toml, +}: +final: prev: { + coc-clangd = buildVimPlugin { + inherit (coc-clangd) pname version meta; + src = "${coc-clangd}/lib/node_modules/coc-clangd"; + }; + + coc-css = buildVimPlugin { + inherit (coc-css) pname version meta; + src = "${coc-css}/lib/node_modules/coc-css"; + }; + + coc-diagnostic = buildVimPlugin { + inherit (coc-diagnostic) pname version meta; + src = "${coc-diagnostic}/lib/node_modules/coc-diagnostic"; + }; + + coc-pyright = buildVimPlugin { + pname = "coc-pyright"; + inherit (coc-pyright) version meta; + src = "${coc-pyright}/lib/node_modules/coc-pyright"; + }; + + coc-toml = buildVimPlugin { + pname = "coc-toml"; + inherit (coc-toml) version meta; + src = "${coc-toml}/lib/node_modules/coc-toml"; + }; +} diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix index eb7c70db0e5d..89bd49f36cc0 100644 --- a/pkgs/applications/editors/vim/plugins/default.nix +++ b/pkgs/applications/editors/vim/plugins/default.nix @@ -19,12 +19,25 @@ let initialPackages = self: { }; - plugins = callPackage ./generated.nix { + cocPlugins = callPackage ./cocPlugins.nix { inherit buildVimPlugin; + }; + + luaPackagePlugins = callPackage ./luaPackagePlugins.nix { inherit (neovimUtils) buildNeovimPlugin; }; - extras = callPackage ./extras.nix { + nodePackagePlugins = callPackage ./nodePackagePlugins.nix { + inherit buildVimPlugin; + }; + + nonGeneratedPlugins = + self: super: + lib.mapAttrs (name: _: callPackage (./non-generated + "/${name}") { }) ( + lib.filterAttrs (name: type: type == "directory") (builtins.readDir ./non-generated) + ); + + plugins = callPackage ./generated.nix { inherit buildVimPlugin; inherit (neovimUtils) buildNeovimPlugin; }; @@ -44,7 +57,10 @@ let in lib.pipe initialPackages [ (extends plugins) - (extends extras) + (extends cocPlugins) + (extends luaPackagePlugins) + (extends nodePackagePlugins) + (extends nonGeneratedPlugins) (extends overrides) (extends aliases) lib.makeExtensible diff --git a/pkgs/applications/editors/vim/plugins/extras.nix b/pkgs/applications/editors/vim/plugins/extras.nix deleted file mode 100644 index a5fbf0acb77e..000000000000 --- a/pkgs/applications/editors/vim/plugins/extras.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ - lib, - buildVimPlugin, - buildNeovimPlugin, - nodePackages, - neovim-unwrapped, -}: -let - luaPackages = neovim-unwrapped.lua.pkgs; -in -self: super: -( - let - nodePackageNames = [ - "coc-cmake" - "coc-docker" - "coc-emmet" - "coc-eslint" - "coc-explorer" - "coc-flutter" - "coc-git" - "coc-go" - "coc-haxe" - "coc-highlight" - "coc-html" - "coc-java" - "coc-jest" - "coc-json" - "coc-lists" - "coc-ltex" - "coc-markdownlint" - "coc-pairs" - "coc-prettier" - "coc-r-lsp" - "coc-rls" - "coc-rust-analyzer" - "coc-sh" - "coc-smartf" - "coc-snippets" - "coc-solargraph" - "coc-spell-checker" - "coc-sqlfluff" - "coc-stylelint" - "coc-sumneko-lua" - "coc-tabnine" - "coc-texlab" - "coc-tsserver" - "coc-ultisnips" - "coc-vetur" - "coc-vimlsp" - "coc-vimtex" - "coc-wxml" - "coc-yaml" - "coc-yank" - ]; - nodePackage2VimPackage = - name: - buildVimPlugin { - pname = name; - inherit (nodePackages.${name}) version meta; - src = "${nodePackages.${name}}/lib/node_modules/${name}"; - }; - in - lib.genAttrs nodePackageNames nodePackage2VimPackage -) -// ( - let - luarocksPackageNames = [ - "fidget-nvim" - "gitsigns-nvim" - "image-nvim" - "lsp-progress-nvim" - "lualine-nvim" - "luasnip" - "lush-nvim" - "lz-n" - "lze" - "lzextras" - "lzn-auto-require" - "middleclass" - "mini-test" - "neorg" - "neotest" - "nui-nvim" - "nvim-cmp" - "nvim-nio" - "nvim-web-devicons" - "oil-nvim" - "orgmode" - "papis-nvim" - "rest-nvim" - "rocks-config-nvim" - "rtp-nvim" - "telescope-manix" - "telescope-nvim" - ]; - toVimPackage = - name: - buildNeovimPlugin { - luaAttr = luaPackages.${name}; - }; - in - lib.genAttrs luarocksPackageNames toVimPackage -) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index ac70ef50134e..be6625f1351e 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -458,6 +458,19 @@ final: prev: meta.hydraPlatforms = [ ]; }; + VimCompletesMe = buildVimPlugin { + pname = "VimCompletesMe"; + version = "2015-04-20"; + src = fetchFromGitHub { + owner = "vim-scripts"; + repo = "VimCompletesMe"; + rev = "b915ac2c081dd5aec69b561b04a8ac1778d2277c"; + sha256 = "0mal1raflzzmahb4skc01dwp9vasvwcyh9mpw3r75gfrfzbyjrlk"; + }; + meta.homepage = "https://github.com/vim-scripts/VimCompletesMe/"; + meta.hydraPlatforms = [ ]; + }; + VimOrganizer = buildVimPlugin { pname = "VimOrganizer"; version = "2020-12-15"; @@ -18757,6 +18770,19 @@ final: prev: meta.hydraPlatforms = [ ]; }; + vim-pony = buildVimPlugin { + pname = "vim-pony"; + version = "2018-06-24"; + src = fetchFromGitHub { + owner = "jmcomets"; + repo = "vim-pony"; + rev = "cd0949971c485fd23de62bb78ca39e5bbe8b915a"; + sha256 = "0sassx3mkkd543mljycfmvgwcnw36zbpanm41mf3bavxvsk0azx6"; + }; + meta.homepage = "https://github.com/jmcomets/vim-pony/"; + meta.hydraPlatforms = [ ]; + }; + vim-poweryank = buildVimPlugin { pname = "vim-poweryank"; version = "2017-08-13"; diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh similarity index 100% rename from pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh rename to pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh diff --git a/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh b/pkgs/applications/editors/vim/plugins/hooks/vim-command-check-hook.sh similarity index 100% rename from pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh rename to pkgs/applications/editors/vim/plugins/hooks/vim-command-check-hook.sh diff --git a/pkgs/applications/editors/vim/plugins/vim-gen-doc-hook.sh b/pkgs/applications/editors/vim/plugins/hooks/vim-gen-doc-hook.sh similarity index 100% rename from pkgs/applications/editors/vim/plugins/vim-gen-doc-hook.sh rename to pkgs/applications/editors/vim/plugins/hooks/vim-gen-doc-hook.sh diff --git a/pkgs/applications/editors/vim/plugins/luaPackagePlugins.nix b/pkgs/applications/editors/vim/plugins/luaPackagePlugins.nix new file mode 100644 index 000000000000..b130c56caa88 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/luaPackagePlugins.nix @@ -0,0 +1,46 @@ +{ + lib, + buildNeovimPlugin, + neovim-unwrapped, +}: +final: prev: +let + luaPackages = neovim-unwrapped.lua.pkgs; + + luarocksPackageNames = [ + "fidget-nvim" + "gitsigns-nvim" + "image-nvim" + "lsp-progress-nvim" + "lualine-nvim" + "luasnip" + "lush-nvim" + "lz-n" + "lze" + "lzextras" + "lzn-auto-require" + "middleclass" + "mini-test" + "neorg" + "neotest" + "nui-nvim" + "nvim-cmp" + "nvim-nio" + "nvim-web-devicons" + "oil-nvim" + "orgmode" + "papis-nvim" + "plenary-nvim" + "rest-nvim" + "rocks-config-nvim" + "rtp-nvim" + "telescope-manix" + "telescope-nvim" + ]; +in +lib.genAttrs luarocksPackageNames ( + name: + buildNeovimPlugin { + luaAttr = luaPackages.${name}; + } +) diff --git a/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix b/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix new file mode 100644 index 000000000000..6abe5ab246df --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/nodePackagePlugins.nix @@ -0,0 +1,65 @@ +{ + lib, + buildVimPlugin, + nodePackages, +}: +final: prev: +let + nodePackageNames = [ + "coc-cmake" + "coc-docker" + "coc-emmet" + "coc-eslint" + "coc-explorer" + "coc-flutter" + "coc-git" + "coc-go" + "coc-haxe" + "coc-highlight" + "coc-html" + "coc-java" + "coc-jest" + "coc-json" + "coc-lists" + "coc-ltex" + "coc-markdownlint" + "coc-pairs" + "coc-prettier" + "coc-r-lsp" + "coc-rls" + "coc-rust-analyzer" + "coc-sh" + "coc-smartf" + "coc-snippets" + "coc-solargraph" + "coc-spell-checker" + "coc-sqlfluff" + "coc-stylelint" + "coc-sumneko-lua" + "coc-tabnine" + "coc-texlab" + "coc-tsserver" + "coc-ultisnips" + "coc-vetur" + "coc-vimlsp" + "coc-vimtex" + "coc-wxml" + "coc-yaml" + "coc-yank" + "coc-nginx" + ]; + + packageNameOverrides = { + "coc-nginx" = "@yaegassy/coc-nginx"; + }; + + getPackageName = name: packageNameOverrides.${name} or name; +in +lib.genAttrs nodePackageNames ( + name: + buildVimPlugin { + pname = name; + inherit (nodePackages.${getPackageName name}) version meta; + src = "${nodePackages.${getPackageName name}}/lib/node_modules/${getPackageName name}"; + } +) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix new file mode 100644 index 000000000000..f9691b378df8 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix @@ -0,0 +1,22 @@ +{ + vimUtils, + fetchFromGitHub, + nix-update-script, +}: +vimUtils.buildVimPlugin { + pname = "bitbake-vim"; + version = "2025-03-24"; + + src = fetchFromGitHub { + owner = "openembedded"; + repo = "bitbake"; + rev = "8cc976e2792fdde3900729f3b09dd18ab640b5e8"; + sha256 = "12k48zhd9bh3b8xjpang2xj14nhyla2p55r1is3m25wkqys10p9c"; + }; + + sourceRoot = "source/contrib/vim"; + + meta.homepage = "https://github.com/openembedded/bitbake/"; + + passthru.updateScript = nix-update-script { }; +} diff --git a/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/default.nix new file mode 100644 index 000000000000..bd7c55a15d6a --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/default.nix @@ -0,0 +1,10 @@ +{ + vimPlugins, + vimUtils, +}: +vimUtils.buildVimPlugin { + pname = "vim2nix"; + version = "1.0"; + src = ./src; + dependencies = [ vimPlugins.vim-addon-manager ]; +} diff --git a/pkgs/applications/editors/vim/plugins/vim2nix/README.txt b/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/README.txt similarity index 100% rename from pkgs/applications/editors/vim/plugins/vim2nix/README.txt rename to pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/README.txt diff --git a/pkgs/applications/editors/vim/plugins/vim2nix/addon-info.json b/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/addon-info.json similarity index 100% rename from pkgs/applications/editors/vim/plugins/vim2nix/addon-info.json rename to pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/addon-info.json diff --git a/pkgs/applications/editors/vim/plugins/vim2nix/autoload/nix.vim b/pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/autoload/nix.vim similarity index 100% rename from pkgs/applications/editors/vim/plugins/vim2nix/autoload/nix.vim rename to pkgs/applications/editors/vim/plugins/non-generated/vim2nix/src/autoload/nix.vim diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 81907f3a7e34..df5eb664f44d 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -16,11 +16,6 @@ mkYarnModules, python3, # Misc dependencies - coc-clangd, - coc-css, - coc-diagnostic, - coc-pyright, - coc-toml, code-minimap, dasht, deno, @@ -37,7 +32,6 @@ meson, neovim-unwrapped, nim1, - nodePackages, nodejs, notmuch, openscad, @@ -229,8 +223,6 @@ in ]; }; - avante-nvim = callPackage ./non-generated/avante-nvim { }; - aw-watcher-vim = super.aw-watcher-vim.overrideAttrs { patches = [ (replaceVars ./patches/aw-watcher-vim/program_paths.patch { @@ -285,21 +277,6 @@ in ]; }; - # The GitHub repository returns 404, which breaks the update script - bitbake-vim = buildVimPlugin { - pname = "bitbake.vim"; - version = "2021-02-06"; - src = fetchFromGitHub { - owner = "sblumentritt"; - repo = "bitbake.vim"; - rev = "faddca1e8768b10c80ee85221fb51a560df5ba45"; - sha256 = "1hfly2vxhhvjdiwgfz58hr3523kf9z71i78vk168n3kdqp5vkwrp"; - }; - meta.homepage = "https://github.com/sblumentritt/bitbake.vim/"; - }; - - blink-cmp = callPackage ./non-generated/blink-cmp { }; - blink-cmp-copilot = super.blink-cmp-copilot.overrideAttrs { dependencies = [ self.copilot-lua ]; }; @@ -320,8 +297,6 @@ in dependencies = [ self.blink-cmp ]; }; - blink-pairs = callPackage ./non-generated/blink-pairs { }; - bluloco-nvim = super.bluloco-nvim.overrideAttrs { dependencies = [ self.lush-nvim ]; }; @@ -378,8 +353,6 @@ in ]; }; - clangd_extensions-nvim = callPackage ./non-generated/clangd_extensions-nvim { }; - clang_complete = super.clang_complete.overrideAttrs { # 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++). @@ -431,8 +404,6 @@ in ]; }; - cmp-async-path = callPackage ./non-generated/cmp-async-path { }; - cmp-beancount = super.cmp-beancount.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; @@ -622,39 +593,6 @@ in ]; }; - coc-clangd = buildVimPlugin { - inherit (coc-clangd) pname version meta; - src = "${coc-clangd}/lib/node_modules/coc-clangd"; - }; - - coc-css = buildVimPlugin { - inherit (coc-css) pname version meta; - src = "${coc-css}/lib/node_modules/coc-css"; - }; - - coc-diagnostic = buildVimPlugin { - inherit (coc-diagnostic) pname version meta; - src = "${coc-diagnostic}/lib/node_modules/coc-diagnostic"; - }; - - coc-pyright = buildVimPlugin { - pname = "coc-pyright"; - inherit (coc-pyright) version meta; - src = "${coc-pyright}/lib/node_modules/coc-pyright"; - }; - - coc-nginx = buildVimPlugin { - pname = "coc-nginx"; - inherit (nodePackages."@yaegassy/coc-nginx") version meta; - src = "${nodePackages."@yaegassy/coc-nginx"}/lib/node_modules/@yaegassy/coc-nginx"; - }; - - coc-toml = buildVimPlugin { - pname = "coc-toml"; - inherit (coc-toml) version meta; - src = "${coc-toml}/lib/node_modules/coc-toml"; - }; - codecompanion-nvim = super.codecompanion-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; nvimSkipModule = [ @@ -753,8 +691,6 @@ in ''; }; - codesnap-nvim = callPackage ./non-generated/codesnap-nvim { }; - codewindow-nvim = super.codewindow-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; }; @@ -880,8 +816,6 @@ in ]; }; - cord-nvim = callPackage ./non-generated/cord-nvim { }; - cornelis = super.cornelis.overrideAttrs { dependencies = [ self.vim-textobj-user ]; opt = [ self.vim-which-key ]; @@ -1293,17 +1227,10 @@ in configurePhase = "cd plugins/nvim"; }; - gitlab-vim = callPackage ./non-generated/gitlab-vim { }; - gitlinker-nvim = super.gitlinker-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; }; - # NOTE: this overrides a luaPackages-based plugin - gitsigns-nvim = super.gitsigns-nvim.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - }; - git-conflict-nvim = super.git-conflict-nvim.overrideAttrs { # TODO: Remove after next fixed version # https://github.com/akinsho/git-conflict.nvim/issues/103 @@ -1377,8 +1304,6 @@ in ]; }; - hare-vim = callPackage ./non-generated/hare-vim { }; - harpoon = super.harpoon.overrideAttrs { dependencies = [ self.plenary-nvim ]; }; @@ -1452,24 +1377,6 @@ in doInstallCheck = true; }; - # NOTE: this overrides a luaPackages-based plugin - image-nvim = super.image-nvim.overrideAttrs { - dependencies = with self; [ - nvim-treesitter - nvim-treesitter-parsers.markdown_inline - nvim-treesitter-parsers.norg - ]; - - # Add magick to package.path - patches = [ ./patches/image-nvim/magick.patch ]; - - postPatch = '' - substituteInPlace lua/image/magick.lua \ - --replace-fail @nix_magick@ ${luajitPackages.magick} - ''; - - }; - indent-blankline-nvim = super.indent-blankline-nvim.overrideAttrs { # Meta file nvimSkipModule = "ibl.config.types"; @@ -1525,8 +1432,6 @@ in ''; }; - LanguageClient-neovim = callPackage ./non-generated/LanguageClient-neovim { }; - LazyVim = super.LazyVim.overrideAttrs { # Any other dependency is optional dependencies = [ self.lazy-nvim ]; @@ -1712,8 +1617,6 @@ in dependencies = [ self.plenary-nvim ]; }; - lsp_lines-nvim = callPackage ./non-generated/lsp_lines-nvim { }; - ltex_extra-nvim = super.ltex_extra-nvim.overrideAttrs { # Other modules require setup call first nvimRequireCheck = "ltex_extra"; @@ -1723,11 +1626,6 @@ in dependencies = [ self.lualine-nvim ]; }; - # NOTE: this overrides a luaPackages-based plugin - luasnip = super.luasnip.overrideAttrs { - dependencies = [ luaPackages.jsregexp ]; - }; - luasnip-latex-snippets-nvim = super.luasnip-latex-snippets-nvim.overrideAttrs { dependencies = [ self.luasnip ]; # E5108: /luasnip-latex-snippets/luasnippets/tex/utils/init.lua:3: module 'luasnip-latex-snippets.luasnippets.utils.conditions' not found: @@ -1761,7 +1659,7 @@ in # We only need its dependencies `node-modules`. nodeDep = mkYarnModules rec { inherit (super.markdown-preview-nvim) pname version; - packageJSON = ./markdown-preview-nvim/package.json; + packageJSON = ./patches/markdown-preview-nvim/package.json; yarnLock = "${super.markdown-preview-nvim.src}/yarn.lock"; offlineCache = fetchYarnDeps { inherit yarnLock; @@ -1771,7 +1669,7 @@ in in super.markdown-preview-nvim.overrideAttrs { patches = [ - (replaceVars ./markdown-preview-nvim/fix-node-paths.patch { + (replaceVars ./patches/markdown-preview-nvim/fix-node-paths.patch { node = "${nodejs}/bin/node"; }) ]; @@ -1903,8 +1801,6 @@ in ]; }; - moveline-nvim = callPackage ./non-generated/moveline-nvim { }; - multicursors-nvim = super.multicursors-nvim.overrideAttrs { dependencies = with self; [ nvim-treesitter @@ -1978,14 +1874,6 @@ in ]; }; - # NOTE: this overrides a luaPackages-based plugin - neotest = super.neotest.overrideAttrs { - dependencies = with self; [ - nvim-nio - plenary-nvim - ]; - }; - neotest-bash = super.neotest-bash.overrideAttrs { dependencies = with self; [ neotest @@ -2364,8 +2252,6 @@ in dependencies = [ self.nvim-dap ]; }; - nvim-dbee = callPackage ./non-generated/nvim-dbee { }; - nvim-FeMaco-lua = super.nvim-FeMaco-lua.overrideAttrs { dependencies = [ self.nvim-treesitter ]; }; @@ -2430,8 +2316,6 @@ in dependencies = [ self.nvim-java-core ]; }; - nvim-julia-autotest = callPackage ./non-generated/nvim-julia-autotest { }; - nvim-lsp-file-operations = super.nvim-lsp-file-operations.overrideAttrs { dependencies = [ self.plenary-nvim ]; }; @@ -2506,8 +2390,6 @@ in nvimSkipModule = "snippets.utils.cmp"; }; - nvim-spectre = callPackage ./non-generated/nvim-spectre { }; - nvim-surround = super.nvim-surround.overrideAttrs { # Optional treesitter integration nvimSkipModule = "nvim-surround.queries"; @@ -2773,11 +2655,6 @@ in ]; }; - plenary-nvim = neovimUtils.buildNeovimPlugin { - luaAttr = luaPackages.plenary-nvim; - runtimeDeps = [ curl ]; - }; - poimandres-nvim = super.poimandres-nvim.overrideAttrs { # Optional treesitter support nvimSkipModule = "poimandres.highlights"; @@ -2828,8 +2705,6 @@ in quicker-nvim = super.quicker-nvim.overrideAttrs { }; - rainbow-delimiters-nvim = callPackage ./non-generated/rainbow-delimiters-nvim { }; - range-highlight-nvim = super.range-highlight-nvim.overrideAttrs { dependencies = [ self.cmd-parser-nvim ]; }; @@ -2877,18 +2752,6 @@ in dependencies = [ self.plenary-nvim ]; }; - # needs "http" and "json" treesitter grammars too - # NOTE: this overrides a luaPackages-based plugin - rest-nvim = super.rest-nvim.overrideAttrs { - dependencies = with self; [ - plenary-nvim - (nvim-treesitter.withPlugins (p: [ - p.http - p.json - ])) - ]; - }; - rocks-nvim = (neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-nvim; @@ -2931,8 +2794,6 @@ in dependencies = [ self.nui-nvim ]; }; - sg-nvim = callPackage ./non-generated/sg-nvim { }; - skim = buildVimPlugin { pname = "skim"; inherit (skim) version; @@ -3009,21 +2870,6 @@ in ]; }; - sniprun = callPackage ./non-generated/sniprun { }; - - # The GitHub repository returns 404, which breaks the update script - Spacegray-vim = buildVimPlugin { - pname = "Spacegray.vim"; - version = "2021-07-06"; - src = fetchFromGitHub { - owner = "ackyshake"; - repo = "Spacegray.vim"; - rev = "c699ca10ed421c462bd1c87a158faaa570dc8e28"; - sha256 = "0ma8w6p5jh6llka49x5j5ql8fmhv0bx5hhsn5b2phak79yqg1k61"; - }; - meta.homepage = "https://github.com/ackyshake/Spacegray.vim/"; - }; - spaceman-nvim = super.spaceman-nvim.overrideAttrs { # Optional telescope integration nvimSkipModule = "spaceman.adapters.telescope"; @@ -3281,11 +3127,6 @@ in dependencies = [ self.plenary-nvim ]; }; - # NOTE: this overrides a luaPackages-based plugin - telescope-nvim = super.telescope-nvim.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - }; - telescope-smart-history-nvim = super.telescope-smart-history-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim @@ -3507,26 +3348,6 @@ in ]; }; - # The GitHub repository returns 404, which breaks the update script - VimCompletesMe = buildVimPlugin { - pname = "VimCompletesMe"; - version = "2022-02-18"; - src = fetchFromGitHub { - owner = "ackyshake"; - repo = "VimCompletesMe"; - rev = "9adf692d7ae6424038458a89d4a411f0a27d1388"; - sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0"; - }; - meta.homepage = "https://github.com/ackyshake/VimCompletesMe/"; - }; - - vim2nix = buildVimPlugin { - pname = "vim2nix"; - version = "1.0"; - src = ./vim2nix; - dependencies = [ self.vim-addon-manager ]; - }; - vimsence = super.vimsence.overrideAttrs { meta = with lib; { description = "Discord rich presence for Vim"; @@ -3643,8 +3464,6 @@ in passthru.python3Dependencies = ps: with ps; [ beancount ]; }; - vim-clap = callPackage ./non-generated/vim-clap { }; - vim-codefmt = super.vim-codefmt.overrideAttrs { dependencies = [ self.vim-maktaba ]; }; @@ -3775,8 +3594,6 @@ in ''; }; - vim-markdown-composer = callPackage ./non-generated/vim-markdown-composer { }; - vim-matchup = super.vim-matchup.overrideAttrs { # Optional treesitter integration nvimSkipModule = "treesitter-matchup.third-party.query"; @@ -3794,19 +3611,6 @@ in dependencies = [ self.denops-vim ]; }; - # The GitHub repository returns 404, which breaks the update script - vim-pony = buildVimPlugin { - pname = "vim-pony"; - version = "2018-07-27"; - src = fetchFromGitHub { - owner = "jakwings"; - repo = "vim-pony"; - rev = "b26f01a869000b73b80dceabd725d91bfe175b75"; - sha256 = "0if8g94m3xmpda80byfxs649w2is9ah1k8v3028nblan73zlc8x8"; - }; - meta.homepage = "https://github.com/jakwings/vim-pony/"; - }; - vim-sensible = super.vim-sensible.overrideAttrs { patches = [ ./patches/vim-sensible/fix-nix-store-path-regex.patch ]; }; @@ -3822,8 +3626,6 @@ in dependencies = [ self.vim-repeat ]; }; - vim-stationeers-ic10-syntax = callPackage ./non-generated/vim-stationeers-ic10-syntax { }; - vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: { postPatch = old.postPatch or "" diff --git a/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/fix-node-paths.patch b/pkgs/applications/editors/vim/plugins/patches/markdown-preview-nvim/fix-node-paths.patch similarity index 100% rename from pkgs/applications/editors/vim/plugins/markdown-preview-nvim/fix-node-paths.patch rename to pkgs/applications/editors/vim/plugins/patches/markdown-preview-nvim/fix-node-paths.patch diff --git a/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/package.json b/pkgs/applications/editors/vim/plugins/patches/markdown-preview-nvim/package.json similarity index 100% rename from pkgs/applications/editors/vim/plugins/markdown-preview-nvim/package.json rename to pkgs/applications/editors/vim/plugins/patches/markdown-preview-nvim/package.json diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/utils/build-vim-plugin.nix similarity index 100% rename from pkgs/applications/editors/vim/plugins/build-vim-plugin.nix rename to pkgs/applications/editors/vim/plugins/utils/build-vim-plugin.nix diff --git a/pkgs/applications/editors/vim/plugins/get-plugins.nix b/pkgs/applications/editors/vim/plugins/utils/get-plugins.nix similarity index 100% rename from pkgs/applications/editors/vim/plugins/get-plugins.nix rename to pkgs/applications/editors/vim/plugins/utils/get-plugins.nix diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/utils/update.py similarity index 98% rename from pkgs/applications/editors/vim/plugins/update.py rename to pkgs/applications/editors/vim/plugins/utils/update.py index a973a1919eff..369b90de4a3a 100755 --- a/pkgs/applications/editors/vim/plugins/update.py +++ b/pkgs/applications/editors/vim/plugins/utils/update.py @@ -40,7 +40,7 @@ treesitter = importlib.import_module("nvim-treesitter.update") HEADER = ( - "# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!" + "# GENERATED by ./pkgs/applications/editors/vim/plugins/utils/update.py. Do not edit!" ) NIXPKGS_NVIMTREESITTER_FOLDER = "pkgs/applications/editors/vim/plugins/nvim-treesitter" diff --git a/pkgs/applications/editors/vim/plugins/updater.nix b/pkgs/applications/editors/vim/plugins/utils/updater.nix similarity index 92% rename from pkgs/applications/editors/vim/plugins/updater.nix rename to pkgs/applications/editors/vim/plugins/utils/updater.nix index 6ea8e60448d5..b2dbdf9fca41 100644 --- a/pkgs/applications/editors/vim/plugins/updater.nix +++ b/pkgs/applications/editors/vim/plugins/utils/updater.nix @@ -42,7 +42,7 @@ buildPythonApplication { neovim-unwrapped nurl ] - }" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts/pluginupdate-py}" ) + }" --prefix PYTHONPATH : "${./.}:${../../../../../../maintainers/scripts/pluginupdate-py}" ) wrapPythonPrograms ''; diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix similarity index 99% rename from pkgs/applications/editors/vim/plugins/vim-utils.nix rename to pkgs/applications/editors/vim/plugins/utils/vim-utils.nix index 288fc44ba55f..dd12f9a442e6 100644 --- a/pkgs/applications/editors/vim/plugins/vim-utils.nix +++ b/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix @@ -423,7 +423,7 @@ rec { vimBinary = "${vim}/bin/vim"; inherit rtpPath; }; - } ./vim-gen-doc-hook.sh + } ../hooks/vim-gen-doc-hook.sh ) { }; vimCommandCheckHook = callPackage ( @@ -435,7 +435,7 @@ rec { vimBinary = "${neovim-unwrapped}/bin/nvim"; inherit rtpPath; }; - } ./vim-command-check-hook.sh + } ../hooks/vim-command-check-hook.sh ) { }; neovimRequireCheckHook = callPackage ( @@ -447,7 +447,7 @@ rec { nvimBinary = "${neovim-unwrapped}/bin/nvim"; inherit rtpPath; }; - } ./neovim-require-check-hook.sh + } ../hooks/neovim-require-check-hook.sh ) { }; inherit diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 1fa9f9f4d53c..2b1bfa41c807 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -34,6 +34,7 @@ https://github.com/tmhedberg/SimpylFold/,, https://github.com/vim-scripts/SmartCase/,, https://github.com/jaredgorski/SpaceCamp/,, https://github.com/chrisbra/SudoEdit.vim/,, +https://github.com/vim-scripts/VimCompletesMe/,HEAD, https://github.com/hsitz/VimOrganizer/,, https://github.com/VundleVim/Vundle.vim/,, https://github.com/esneider/YUNOcommit.vim/,, @@ -1439,6 +1440,7 @@ https://github.com/junegunn/vim-plug/,, https://github.com/powerman/vim-plugin-AnsiEsc/,, https://github.com/hasundue/vim-pluto/,HEAD, https://github.com/sheerun/vim-polyglot/,, +https://github.com/jmcomets/vim-pony/,HEAD, https://github.com/haya14busa/vim-poweryank/,, https://github.com/prettier/vim-prettier/,, https://github.com/thinca/vim-prettyprint/,, diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b1319f5d2667..69b69cea9e58 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -123,7 +123,7 @@ with pkgs; common-updater-scripts = callPackage ../common-updater/scripts.nix { }; - vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix { + vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/utils/updater.nix { inherit (python3Packages) buildPythonApplication ; }; @@ -17761,7 +17761,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AppKit Security; }; - vimUtils = callPackage ../applications/editors/vim/plugins/vim-utils.nix { }; + vimUtils = callPackage ../applications/editors/vim/plugins/utils/vim-utils.nix { }; vimPlugins = recurseIntoAttrs (callPackage ../applications/editors/vim/plugins { });