From 17c2e8d6f775903a60fdc13021c2da8024e7c957 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 23 Dec 2024 21:48:54 -0600 Subject: [PATCH] vimPlugins: remove explicit nvimRequireCheck Update missing dependencies and let auto require work. --- .../editors/vim/plugins/overrides.nix | 347 ++++++++++-------- 1 file changed, 198 insertions(+), 149 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index e83b29c4469a30..b5215b60e70581 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -133,31 +133,20 @@ in ]; }; - alpha-nvim = super.alpha-nvim.overrideAttrs { - nvimRequireCheck = "alpha"; - }; - advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs { - dependencies = with super; [ + dependencies = with self; [ telescope-nvim vim-fugitive vim-rhubarb + fzf-lua + plenary-nvim ]; - nvimRequireCheck = "advanced_git_search.utils"; }; astrocore = super.astrocore.overrideAttrs { dependencies = [ self.lazy-nvim ]; }; - astrotheme = super.astrotheme.overrideAttrs { - nvimSkipModule = [ - # attempt to index local 'c' (a nil value) - "astrotheme.groups.plugins.flash" - "astrotheme.groups.plugins.todo-comments" - ]; - }; - astroui = super.astroui.overrideAttrs { # Readme states that astrocore is an optional dependency checkInputs = [ self.astrocore ]; @@ -173,12 +162,10 @@ in animation-nvim = super.animation-nvim.overrideAttrs { dependencies = [ self.middleclass ]; - nvimRequireCheck = "animation"; }; autosave-nvim = super.autosave-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "autosave"; }; auto-session = super.auto-session.overrideAttrs { @@ -232,7 +219,6 @@ in license = lib.licenses.mit; maintainers = with lib.maintainers; [ lightquantum ]; }; - nvimRequireCheck = "barbecue"; }; base46 = super.base46.overrideAttrs { @@ -291,7 +277,7 @@ in ccc-nvim = super.ccc-nvim.overrideAttrs { # ccc auto-discover requires all pass # but there's a bootstrap module that hangs forever if we dont stop on first success - nvimRequireCheck = "ccc"; + nvimSkipModule = "ccc.kit.Thread.Server._bootstrap"; }; chadtree = super.chadtree.overrideAttrs { @@ -304,10 +290,8 @@ in pyyaml std2 ]; - # We need some patches so it stops complaining about not being in a venv patches = [ ./patches/chadtree/emulate-venv.patch ]; - nvimRequireCheck = "chadtree"; }; ChatGPT-nvim = super.ChatGPT-nvim.overrideAttrs { @@ -316,7 +300,6 @@ in plenary-nvim telescope-nvim ]; - nvimRequireCheck = "chatgpt"; }; cheatsheet-nvim = super.cheatsheet-nvim.overrideAttrs { @@ -356,15 +339,15 @@ in postPatch = '' sed -i -e 's/require "health"/vim.health/' lua/clipboard-image/health.lua ''; - nvimRequireCheck = "clipboard-image"; }; cmake-tools-nvim = super.cmake-tools-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "cmake-tools"; }; cmd-parser-nvim = super.cmd-parser-nvim.overrideAttrs { + # Has cmd-parser.init.test matched from lua/cmd-parser/init.test.lua + # Can't be required and is only other module nvimRequireCheck = "cmd-parser"; }; @@ -605,7 +588,17 @@ in codecompanion-nvim = super.codecompanion-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "codecompanion"; + nvimSkipModule = [ + # Optional provider dependencies + "codecompanion.providers.diff.mini_diff" + "codecompanion.providers.actions.telescope" + "codecompanion.providers.actions.mini_pick" + # Requires setup call + "codecompanion.actions.static" + "codecompanion.actions.init" + # Test + "minimal" + ]; }; codeium-nvim = @@ -689,7 +682,6 @@ in runHook postCheck ''; - nvimRequireCheck = "codeium"; }; codesnap-nvim = callPackage ./non-generated/codesnap-nvim { }; @@ -710,29 +702,22 @@ in make build rm ruby/command-t/ext/command-t/*.o ''; - nvimRequireCheck = "wincent.commandt"; }; competitest-nvim = super.competitest-nvim.overrideAttrs { dependencies = [ self.nui-nvim ]; - - doInstallCheck = true; - nvimRequireCheck = "competitest"; }; compiler-explorer-nvim = super.compiler-explorer-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "compiler-explorer"; }; compiler-nvim = super.compiler-nvim.overrideAttrs { dependencies = [ self.overseer-nvim ]; - nvimRequireCheck = "compiler"; }; completion-buffers = super.completion-buffers.overrideAttrs { dependencies = [ self.completion-nvim ]; - nvimRequireCheck = "completion_buffers"; }; completion-tabnine = super.completion-tabnine.overrideAttrs { @@ -765,11 +750,15 @@ in }; CopilotChat-nvim = super.CopilotChat-nvim.overrideAttrs { + checkInputs = with self; [ + # Optional integrations + fzf-lua + telescope-nvim + ]; dependencies = with self; [ copilot-lua plenary-nvim ]; - nvimRequireCheck = "CopilotChat"; }; copilot-cmp = super.copilot-cmp.overrideAttrs { @@ -782,7 +771,6 @@ in lualine-nvim ]; doInstallCheck = true; - nvimRequireCheck = "copilot-lualine"; }; copilot-vim = super.copilot-vim.overrideAttrs (old: { @@ -807,7 +795,11 @@ in # We need some patches so it stops complaining about not being in a venv patches = [ ./patches/coq_nvim/emulate-venv.patch ]; - nvimRequireCheck = "coq"; + + nvimRequireCheck = [ + # Other modules require global variables + "coq" + ]; }; cord-nvim = callPackage ./non-generated/cord-nvim { }; @@ -839,8 +831,11 @@ in }; crates-nvim = super.crates-nvim.overrideAttrs { + checkInputs = [ + # Optional null-ls integration + self.none-ls-nvim + ]; dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "crates"; }; cspell-nvim = super.cspell-nvim.overrideAttrs { @@ -887,7 +882,6 @@ in ddc-source-lsp = super.ddc-source-lsp.overrideAttrs { dependencies = [ self.ddc-vim ]; - nvimRequireCheck = "ddc_source_lsp"; }; ddc-vim = super.ddc-vim.overrideAttrs { @@ -950,14 +944,41 @@ in diagram-nvim = super.diagram-nvim.overrideAttrs { dependencies = [ self.image-nvim ]; - nvimRequireCheck = "diagram"; }; diffview-nvim = super.diffview-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; + nvimSkipModule = [ + # https://github.com/sindrets/diffview.nvim/issues/498 + "diffview.api.views.diff.diff_view" + "diffview.scene.layouts.diff_2" + "diffview.scene.layouts.diff_2_hor" + "diffview.scene.layouts.diff_2_ver" + "diffview.scene.layouts.diff_3" + "diffview.scene.layouts.diff_3_hor" + "diffview.scene.layouts.diff_3_mixed" + "diffview.scene.layouts.diff_3_ver" + "diffview.scene.layouts.diff_4" + "diffview.scene.layouts.diff_4_mixed" + "diffview.scene.views.diff.diff_view" + "diffview.scene.views.file_history.file_history_panel" + "diffview.scene.views.file_history.option_panel" + "diffview.scene.window" + "diffview.ui.panels.commit_log_panel" + "diffview.ui.panels.help_panel" + "diffview.ui.panel" + "diffview.vcs.adapters.git.init" + "diffview.vcs.adapters.hg.init" + "diffview.vcs.adapter" + "diffview.vcs.init" + "diffview.vcs.utils" + "diffview.job" + "diffview.lib" + "diffview.multi_job" + ]; + doInstallCheck = true; - nvimRequireCheck = "diffview"; }; direnv-vim = super.direnv-vim.overrideAttrs (old: { @@ -991,12 +1012,10 @@ in fixupPhase = '' patchShebangs $(find $out/bin/ -type f -not -name credo-language-server) ''; - nvimRequireCheck = "elixir"; }; executor-nvim = super.executor-nvim.overrideAttrs { dependencies = [ self.nui-nvim ]; - nvimRequireCheck = "executor"; }; fcitx-vim = super.fcitx-vim.overrideAttrs { @@ -1019,7 +1038,6 @@ in flit-nvim = super.flit-nvim.overrideAttrs { dependencies = [ self.leap-nvim ]; - nvimRequireCheck = "flit"; }; flutter-tools-nvim = super.flutter-tools-nvim.overrideAttrs { @@ -1072,8 +1090,15 @@ in }); fuzzy-nvim = super.fuzzy-nvim.overrideAttrs { + checkInputs = with self; [ + # Optional sorters + telescope-zf-native-nvim + ]; dependencies = [ self.telescope-fzf-native-nvim ]; - nvimRequireCheck = "fuzzy_nvim"; + nvimSkipModule = [ + # TODO: package fzy-lua-native + "fuzzy_nvim.fzy_matcher" + ]; }; fugit2-nvim = super.fugit2-nvim.overrideAttrs { @@ -1147,17 +1172,14 @@ in gitlinker-nvim = super.gitlinker-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "gitlinker"; }; gitsigns-nvim = super.gitsigns-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "gitsigns"; }; git-worktree-nvim = super.git-worktree-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "git-worktree"; }; go-nvim = super.go-nvim.overrideAttrs { @@ -1201,43 +1223,53 @@ in }; hardhat-nvim = super.hardhat-nvim.overrideAttrs { - dependencies = with self; [ + checkInputs = with self; [ + # optional integrations + neotest + telescope-nvim overseer-nvim + ]; + + dependencies = with self; [ plenary-nvim ]; - doInstallCheck = true; - nvimRequireCheck = "hardhat"; + nvimSkipModule = [ + # Cannot find hardhat.extmarks + "overseer.component.hardhat.refresh_gas_extmarks" + ]; }; harpoon = super.harpoon.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "harpoon"; }; harpoon2 = super.harpoon2.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "harpoon"; + nvimSkipModule = [ + # Access harpoon data file + "harpoon.scratch.toggle" + ]; }; haskell-snippets-nvim = super.haskell-snippets-nvim.overrideAttrs { dependencies = [ self.luasnip ]; - nvimRequireCheck = "haskell-snippets"; }; haskell-scope-highlighting-nvim = super.haskell-scope-highlighting-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; - nvimRequireCheck = "haskell-scope-highlighting"; }; haskell-tools-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.haskell-tools-nvim; - nvimRequireCheck = "haskell-tools"; + nvimSkipModule = [ + # Optional telescope integration + "haskell-tools.hoogle.helpers" + ]; }; hex-nvim = super.hex-nvim.overrideAttrs { runtimeDeps = [ xxd ]; - nvimRequireCheck = "hex"; }; himalaya-vim = super.himalaya-vim.overrideAttrs { @@ -1260,7 +1292,6 @@ in hunk-nvim = super.hunk-nvim.overrideAttrs { dependencies = [ self.nui-nvim ]; - nvimRequireCheck = "hunk"; }; # https://hurl.dev/ @@ -1279,7 +1310,6 @@ in ]; doInstallCheck = true; - nvimRequireCheck = "idris2"; }; image-nvim = super.image-nvim.overrideAttrs { @@ -1297,7 +1327,6 @@ in --replace-fail @nix_magick@ ${luajitPackages.magick} ''; - nvimRequireCheck = "image"; }; indent-blankline-nvim = super.indent-blankline-nvim.overrideAttrs { @@ -1333,7 +1362,6 @@ in jupytext-nvim = super.jupytext-nvim.overrideAttrs { passthru.python3Dependencies = ps: [ ps.jupytext ]; - nvimRequireCheck = "jupytext"; }; kulala-nvim = super.kulala-nvim.overrideAttrs { @@ -1346,7 +1374,6 @@ in substituteInPlace lua/kulala/config/init.lua \ --replace-fail 'curl_path = "curl"' 'curl_path = "${lib.getExe curl}"' ''; - nvimRequireCheck = "kulala"; }; LanguageClient-neovim = callPackage ./non-generated/LanguageClient-neovim { }; @@ -1376,12 +1403,19 @@ in lazy-lsp-nvim = super.lazy-lsp-nvim.overrideAttrs { dependencies = [ self.nvim-lspconfig ]; - nvimRequireCheck = "lazy-lsp"; }; lazy-nvim = super.lazy-nvim.overrideAttrs { patches = [ ./patches/lazy-nvim/no-helptags.patch ]; - nvimRequireCheck = "lazy"; + nvimSkipModule = [ + # Requires headless config option + "lazy.manage.task.init" + "lazy.manage.checker" + "lazy.manage.init" + "lazy.manage.runner" + "lazy.view.commands" + "lazy.build" + ]; }; lean-nvim = super.lean-nvim.overrideAttrs { @@ -1389,7 +1423,6 @@ in nvim-lspconfig plenary-nvim ]; - nvimRequireCheck = "lean"; }; LeaderF = super.LeaderF.overrideAttrs { @@ -1410,7 +1443,6 @@ in leap-nvim nvim-treesitter ]; - nvimRequireCheck = "leap-ast"; }; leetcode-nvim = super.leetcode-nvim.overrideAttrs { @@ -1421,7 +1453,38 @@ in ]; doInstallCheck = true; - nvimRequireCheck = "leetcode"; + nvimSkipModule = [ + # Requires setup call + "leetcode.api.auth" + "leetcode.api.headers" + "leetcode.api.interpreter" + "leetcode.api.problems" + "leetcode.api.question" + "leetcode.api.statistics" + "leetcode.api.utils" + "leetcode.cache.cookie" + "leetcode.cache.init" + "leetcode.cache.problemlist" + "leetcode.picker.language.fzf" + "leetcode.picker.question.fzf" + "leetcode.picker.question.init" + "leetcode.picker.question.telescope" + "leetcode.picker.tabs.fzf" + "leetcode.runner.init" + "leetcode-plugins.cn.api" + "leetcode-ui.group.page.stats" + "leetcode-ui.group.similar-questions" + "leetcode-ui.layout.console" + "leetcode-ui.lines.calendar" + "leetcode-ui.lines.solved" + "leetcode-ui.popup.console.result" + "leetcode-ui.popup.info" + "leetcode-ui.popup.languages" + "leetcode-ui.popup.skills" + "leetcode-ui.question" + "leetcode-ui.renderer.menu" + "leetcode-ui.renderer.result" + ]; }; legendary-nvim = super.legendary-nvim.overrideAttrs { @@ -1455,7 +1518,6 @@ in lir-nvim = super.lir-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "lir"; }; lispdocs-nvim = super.lispdocs-nvim.overrideAttrs { @@ -1495,12 +1557,10 @@ in lsp-progress-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lsp-progress-nvim; - nvimRequireCheck = "lsp-progress"; }; lspecho-nvim = super.lspecho-nvim.overrideAttrs { meta.license = lib.licenses.mit; - nvimRequireCheck = "lspecho"; }; lspsaga-nvim = super.lspsaga-nvim.overrideAttrs { @@ -1519,7 +1579,6 @@ in luasnip = super.luasnip.overrideAttrs { dependencies = [ luaPackages.jsregexp ]; - nvimRequireCheck = "luasnip"; }; luasnip-latex-snippets-nvim = super.luasnip-latex-snippets-nvim.overrideAttrs { @@ -1533,17 +1592,14 @@ in lz-n = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lz-n; - nvimRequireCheck = "lz.n"; }; lze = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lze; - nvimRequireCheck = "lze"; }; lzn-auto-require = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lzn-auto-require; - nvimRequireCheck = "lzn-auto-require.loader"; }; magma-nvim = super.magma-nvim.overrideAttrs { @@ -1601,7 +1657,6 @@ in mason-nvim nvim-lspconfig ]; - nvimRequireCheck = "mason-lspconfig"; }; mason-null-ls-nvim = super.mason-null-ls-nvim.overrideAttrs { @@ -1625,7 +1680,6 @@ in mason-tool-installer-nvim = super.mason-tool-installer-nvim.overrideAttrs { dependencies = [ self.mason-nvim ]; - nvimRequireCheck = "mason-tool-installer"; }; material-vim = super.material-vim.overrideAttrs { @@ -1641,7 +1695,6 @@ in middleclass = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.middleclass; - nvimRequireCheck = "middleclass"; }; mind-nvim = super.mind-nvim.overrideAttrs { @@ -1698,7 +1751,6 @@ in nvim-treesitter hydra-nvim ]; - nvimRequireCheck = "multicursors"; }; muren-nvim = super.muren-nvim.overrideAttrs { @@ -1707,7 +1759,6 @@ in ncm2 = super.ncm2.overrideAttrs { dependencies = [ self.nvim-yarp ]; - nvimRequireCheck = "ncm2"; }; ncm2-jedi = super.ncm2-jedi.overrideAttrs { @@ -1738,12 +1789,16 @@ in dependencies = [ self.nvim-lspconfig ]; doInstallCheck = true; - nvimRequireCheck = "neoconf"; }; neogit = super.neogit.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "neogit"; + nvimSkipModule = [ + # Optional diffview integration + "neogit.integrations.diffview" + "neogit.popups.diff.actions" + "neogit.popups.diff.init" + ]; }; neorepl-nvim = super.neorepl-nvim.overrideAttrs { @@ -1759,7 +1814,6 @@ in luaAttr = luaPackages.neorg; doInstallCheck = true; - nvimRequireCheck = "neorg"; }; neorg-telescope = super.neorg-telescope.overrideAttrs { @@ -1776,7 +1830,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest"; }; neotest-bash = super.neotest-bash.overrideAttrs { @@ -1886,7 +1939,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-java"; }; neotest-jest = super.neotest-jest.overrideAttrs { @@ -1912,7 +1964,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-pest"; }; neotest-phpunit = super.neotest-phpunit.overrideAttrs { @@ -1940,7 +1991,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-plenary"; }; neotest-python = super.neotest-python.overrideAttrs { @@ -1949,7 +1999,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-python"; }; neotest-rspec = super.neotest-rspec.overrideAttrs { @@ -1974,7 +2023,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-scala"; }; neotest-testthat = super.neotest-testthat.overrideAttrs { @@ -1983,7 +2031,6 @@ in nvim-nio plenary-nvim ]; - nvimRequireCheck = "neotest-testthat"; }; neotest-vitest = super.neotest-vitest.overrideAttrs { @@ -2009,7 +2056,6 @@ in plenary-nvim nui-nvim ]; - nvimRequireCheck = "neo-tree"; }; netman-nvim = super.netman-nvim.overrideAttrs { @@ -2026,7 +2072,6 @@ in plenary-nvim telescope-nvim ]; - nvimRequireCheck = "neuron"; }; nlsp-settings-nvim = super.nlsp-settings-nvim.overrideAttrs { @@ -2039,18 +2084,15 @@ in noice-nvim = super.noice-nvim.overrideAttrs { dependencies = [ self.nui-nvim ]; - nvimRequireCheck = "noice"; }; none-ls-nvim = super.none-ls-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "null-ls"; }; notmuch-vim = notmuch.vim; NotebookNavigator-nvim = super.NotebookNavigator-nvim.overrideAttrs { - nvimRequireCheck = "notebook-navigator"; }; nterm-nvim = super.nterm-nvim.overrideAttrs { @@ -2059,7 +2101,6 @@ in null-ls-nvim = super.null-ls-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "null-ls"; }; nvchad = super.nvchad.overrideAttrs { @@ -2117,8 +2158,14 @@ in }; nvim-coverage = super.nvim-coverage.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "coverage"; + dependencies = with self; [ + neotest + plenary-nvim + ]; + nvimSkipModule = [ + # TODO: Add lua-xmlreader package + "coverage.parsers.corbertura" + ]; }; nvim-dap-lldb = super.nvim-dap-lldb.overrideAttrs { @@ -2127,12 +2174,10 @@ in nvim-dap-python = super.nvim-dap-python.overrideAttrs { dependencies = [ self.nvim-dap ]; - nvimRequireCheck = "dap-python"; }; nvim-dap-rego = super.nvim-dap-rego.overrideAttrs { dependencies = [ self.nvim-dap ]; - nvimRequireCheck = "dap-rego"; }; nvim-dap-rr = super.nvim-dap-rr.overrideAttrs { @@ -2146,7 +2191,6 @@ in ]; doInstallCheck = true; - nvimRequireCheck = "dapui"; }; nvim-dap-virtual-text = super.nvim-dap-virtual-text.overrideAttrs { @@ -2167,7 +2211,6 @@ in dependencies = [ self.dressing-nvim ]; doInstallCheck = true; - nvimRequireCheck = "genghis"; }; nvim-gps = super.nvim-gps.overrideAttrs { @@ -2215,18 +2258,15 @@ in nvim-lsp-file-operations = super.nvim-lsp-file-operations.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "lsp-file-operations"; }; nvim-lsputils = super.nvim-lsputils.overrideAttrs { dependencies = [ self.popfix ]; - nvimRequireCheck = "lsputil.codeAction"; }; nvim-metals = super.nvim-metals.overrideAttrs { dependencies = [ self.plenary-nvim ]; dontBuild = true; - nvimRequireCheck = "metals"; }; nvim-moonwalk = super.nvim-moonwalk.overrideAttrs { @@ -2240,7 +2280,6 @@ in nvim-lspconfig nvim-navic ]; - nvimRequireCheck = "nvim-navbuddy"; }; nvim-neoclip-lua = super.nvim-neoclip-lua.overrideAttrs { @@ -2295,17 +2334,14 @@ in ''; meta.platforms = lib.platforms.linux; - nvimRequireCheck = "dbee"; } ); nvim-impairative = super.nvim-impairative.overrideAttrs { - nvimRequireCheck = "impairative"; }; nvim-navic = super.nvim-navic.overrideAttrs { dependencies = [ self.nvim-lspconfig ]; - nvimRequireCheck = "nvim-navic"; }; nvim-notify = super.nvim-notify.overrideAttrs { @@ -2322,7 +2358,10 @@ in }; nvim-scissors = super.nvim-scissors.overrideAttrs { - nvimRequireCheck = "scissors"; + checkInputs = [ + # Optional telescope picker + self.telescope-nvim + ]; }; nvim-snippets = super.nvim-snippets.overrideAttrs { @@ -2381,7 +2420,7 @@ in }; nvim-treesitter-sexp = super.nvim-treesitter-sexp.overrideAttrs { - nvimRequireCheck = "treesitter-sexp"; + dependencies = [ self.nvim-treesitter ]; }; nvim-treesitter-textobjects = super.nvim-treesitter-textobjects.overrideAttrs { @@ -2394,7 +2433,6 @@ in nvim-trevJ-lua = super.nvim-trevJ-lua.overrideAttrs { dependencies = [ self.nvim-treesitter ]; - nvimRequireCheck = "trevj"; }; nvim-test = super.nvim-test.overrideAttrs { @@ -2422,7 +2460,6 @@ in nvim-ufo = super.nvim-ufo.overrideAttrs { dependencies = [ self.promise-async ]; - nvimRequireCheck = "ufo"; }; nvim-unception = super.nvim-unception.overrideAttrs { @@ -2441,21 +2478,28 @@ in }; obsidian-nvim = super.obsidian-nvim.overrideAttrs { + checkInputs = with self; [ + # Optional pickers + fzf-lua + telescope-nvim + mini-nvim + ]; dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "obsidian"; }; octo-nvim = super.octo-nvim.overrideAttrs { - dependencies = with self; [ + checkInputs = with self; [ + # Pickers, can use telescope or fzf-lua + fzf-lua telescope-nvim + ]; + dependencies = with self; [ plenary-nvim ]; - nvimRequireCheck = "octo"; }; ollama-nvim = super.ollama-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "ollama"; }; onehalf = super.onehalf.overrideAttrs { @@ -2510,12 +2554,10 @@ in orgmode = super.orgmode.overrideAttrs { dependencies = with self; [ (nvim-treesitter.withPlugins (p: [ p.org ])) ]; - nvimRequireCheck = "orgmode"; }; otter-nvim = super.otter-nvim.overrideAttrs { dependencies = [ self.nvim-lspconfig ]; - nvimRequireCheck = "otter"; }; outline-nvim = super.outline-nvim.overrideAttrs { @@ -2524,7 +2566,10 @@ in }; overseer-nvim = super.overseer-nvim.overrideAttrs { - doCheck = true; + checkInputs = [ + # Optional integration + self.neotest + ]; checkPhase = '' runHook preCheck @@ -2536,7 +2581,11 @@ in runHook postCheck ''; - nvimRequireCheck = "overseer"; + nvimSkipModule = [ + # Optional integrations + "overseer.strategy.toggleterm" + "overseer.dap" + ]; }; package-info-nvim = super.package-info-nvim.overrideAttrs { @@ -2581,7 +2630,6 @@ in # we need the 'query' grammar to make (nvim-treesitter.withPlugins (p: [ p.query ])) ]; - nvimRequireCheck = "nvim-treesitter-playground"; }; # TODO: runtimedeps @@ -2592,7 +2640,6 @@ in ''; doInstallCheck = true; - nvimRequireCheck = "plenary"; }; poimandres-nvim = super.poimandres-nvim.overrideAttrs { @@ -2633,7 +2680,6 @@ in }; quicker-nvim = super.quicker-nvim.overrideAttrs { - nvimRequireCheck = "quicker"; }; rainbow-delimiters-nvim = super.rainbow-delimiters-nvim.overrideAttrs { @@ -2647,7 +2693,6 @@ in range-highlight-nvim = super.range-highlight-nvim.overrideAttrs { dependencies = [ self.cmd-parser-nvim ]; - nvimRequireCheck = "range-highlight"; }; ranger-nvim = super.ranger-nvim.overrideAttrs { @@ -2656,7 +2701,6 @@ in postPatch = '' substituteInPlace lua/ranger-nvim.lua --replace-fail '@ranger@' ${ranger}/bin/ranger ''; - nvimRequireCheck = "ranger-nvim"; }; aider-nvim = super.aider-nvim.overrideAttrs { @@ -2670,7 +2714,6 @@ in nvim-treesitter plenary-nvim ]; - nvimRequireCheck = "refactoring"; }; remote-nvim-nvim = super.remote-nvim-nvim.overrideAttrs { @@ -2695,31 +2738,29 @@ in p.json ])) ]; - nvimRequireCheck = "rest-nvim"; }; rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-nvim; - nvimRequireCheck = "rocks"; }; rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-config-nvim; - nvimRequireCheck = "rocks-config"; }; roslyn-nvim = super.roslyn-nvim.overrideAttrs { - nvimRequireCheck = "roslyn"; }; rtp-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rtp-nvim; - nvimRequireCheck = "rtp_nvim"; }; rustaceanvim = neovimUtils.buildNeovimPlugin { + checkInputs = [ + # Optional integration + self.neotest + ]; luaAttr = luaPackages.rustaceanvim; - nvimRequireCheck = "rustaceanvim"; }; rust-tools-nvim = super.rust-tools-nvim.overrideAttrs { @@ -2735,7 +2776,6 @@ in }; scretch-nvim = super.scretch-nvim.overrideAttrs { - nvimRequireCheck = "scretch"; }; searchbox-nvim = super.searchbox-nvim.overrideAttrs { @@ -2844,18 +2884,20 @@ in passthru = oa.passthru // { initLua = ''vim.g.sqlite_clib_path = "${libsqlite}"''; }; - nvimRequireCheck = "sqlite"; + + nvimSkipModule = [ + # Require "sql.utils" ? + "sqlite.tbl.cache" + ]; } ); ssr = super.ssr-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; - nvimRequireCheck = "ssr"; }; startup-nvim = super.startup-nvim.overrideAttrs { dependencies = with super; [ plenary-nvim ]; - nvimRequireCheck = "startup"; }; statix = buildVimPlugin rec { @@ -2878,7 +2920,6 @@ in substituteInPlace lua/stylish/components/menu.lua --replace-fail xdotool ${xdotool}/bin/xdotool substituteInPlace lua/stylish/components/menu.lua --replace-fail xwininfo ${xorg.xwininfo}/bin/xwininfo ''; - nvimRequireCheck = "stylish"; }; supermaven-nvim = super.supermaven-nvim.overrideAttrs { @@ -2935,7 +2976,6 @@ in syntax-tree-surfer = super.syntax-tree-surfer.overrideAttrs { dependencies = [ self.nvim-treesitter ]; meta.maintainers = with lib.maintainers; [ callumio ]; - nvimRequireCheck = "syntax-tree-surfer"; }; taskwarrior3 = buildVimPlugin { @@ -2953,7 +2993,6 @@ in plenary-nvim telescope-nvim ]; - nvimRequireCheck = "telekasten"; }; telescope-asynctasks-nvim = super.telescope-asynctasks-nvim.overrideAttrs { @@ -3125,13 +3164,14 @@ in }; quarto-nvim = super.quarto-nvim.overrideAttrs { + checkInputs = [ + # Optional runner + self.iron-nvim + ]; dependencies = with self; [ nvim-lspconfig otter-nvim ]; - - nvimRequireCheck = "quarto"; - doInstallCheck = true; }; telescope-zoxide = super.telescope-zoxide.overrideAttrs { @@ -3158,8 +3198,16 @@ in }; todo-comments-nvim = super.todo-comments-nvim.overrideAttrs { + checkInputs = with self; [ + # Optional trouble integration + trouble-nvim + ]; dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "todo-comments"; + nvimSkipModule = [ + # Optional fzf-lua integration + # fzf-lua server must be running + "todo-comments.fzf" + ]; }; tokyonight-nvim = super.tokyonight-nvim.overrideAttrs { @@ -3173,7 +3221,6 @@ in triptych-nvim = super.triptych-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "triptych"; }; tsc-nvim = super.tsc-nvim.overrideAttrs { @@ -3194,7 +3241,6 @@ in tssorter-nvim = super.tssorter-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; - nvimRequireCheck = "tssorter"; }; tup = @@ -3228,7 +3274,6 @@ in nvim-lspconfig plenary-nvim ]; - nvimRequireCheck = "typescript-tools"; }; unicode-vim = @@ -3548,7 +3593,6 @@ in }; vim-tabby = super.vim-tabby.overrideAttrs { - nvimRequireCheck = "tabby"; }; vim-textobj-entire = super.vim-textobj-entire.overrideAttrs { @@ -3684,12 +3728,15 @@ in middleclass animation-nvim ]; - nvimRequireCheck = "windows"; + nvimSkipModule = [ + # Animation doesn't work headless + "windows.autowidth" + "windows.commands" + ]; }; wtf-nvim = super.wtf-nvim.overrideAttrs { dependencies = [ self.nui-nvim ]; - nvimRequireCheck = "wtf"; }; YankRing-vim = super.YankRing-vim.overrideAttrs { @@ -3706,7 +3753,10 @@ in yazi-nvim = super.yazi-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; - nvimRequireCheck = "yazi"; + nvimSkipModule = [ + # Used for reproducing issues + "repro" + ]; }; YouCompleteMe = super.YouCompleteMe.overrideAttrs { @@ -3809,7 +3859,6 @@ in --replace-fail "['websocat'] = nil," "websocat = '${lib.getExe websocat}'," ''; - nvimRequireCheck = "typst-preview"; }; } // (