From a61351cb2e172e610bcdf36295f701d8489dcf62 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:06:15 +0200 Subject: [PATCH 01/12] vimPlugins.cmp-buffer: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index d2c94557c544..2e8b18448b55 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -664,6 +664,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-buffer = super.cmp-buffer.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-clippy = super.cmp-clippy.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = with self; [ From c01e72a50d5f7808de904eaf14ed9ef7979c3f14 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:07:36 +0200 Subject: [PATCH 02/12] vimPlugins.cmp-calc: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 2e8b18448b55..b5a519880435 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -668,6 +668,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-calc = super.cmp-calc.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-clippy = super.cmp-clippy.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = with self; [ From f7692e2ad21c94783123f932e24c76e20e4f5a64 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:08:02 +0200 Subject: [PATCH 03/12] vimPlugins.cmp-cmdline-history: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index b5a519880435..f9518ad7c641 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -683,6 +683,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-cmdline-history = super.cmp-cmdline-history.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-conjure = super.cmp-conjure.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = [ self.conjure ]; From 37e6e20844e4ba1911b6a919c608fce8aa1d5be0 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:08:31 +0200 Subject: [PATCH 04/12] vimPlugins.cmp-emoji: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index f9518ad7c641..1d7c5be34527 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -725,6 +725,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-emoji = super.cmp-emoji.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-fish = super.cmp-fish.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; From 7a6bc1d58b00c6c12a0432d634a2f0d355b089b1 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:09:02 +0200 Subject: [PATCH 05/12] vimPlugins.cmp-latex-symbols: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 1d7c5be34527..e14e9183d145 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -752,6 +752,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-latex-symbols = super.cmp-look.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-look = super.cmp-look.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; From 20cc301de135e8a319d1fdc65003534fafc2c839 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:09:31 +0200 Subject: [PATCH 06/12] vimPlugins.cmp-nixpkgs-maintainers: add nix to nativeCheckInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index e14e9183d145..b0b676763aae 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -33,6 +33,7 @@ libgit2, llvmPackages, neovim-unwrapped, + nix, nodejs, openscad, openssh, @@ -766,6 +767,7 @@ assertNoAdditions { }; cmp-nixpkgs-maintainers = super.cmp-nixpkgs-maintainers.overrideAttrs { + nativeCheckInputs = [ nix ]; checkInputs = [ self.nvim-cmp ]; }; From e5cb90e890a47b835797ecf509c77d353fad6db6 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:11:53 +0200 Subject: [PATCH 07/12] vimPlugins.cmp-nvim-lsp-document-symbol: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index b0b676763aae..b487e7728115 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -776,6 +776,10 @@ assertNoAdditions { dependencies = [ self.plenary-nvim ]; }; + cmp-nvim-lsp-document-symbol = super.cmp-nvim-lsp-document-symbol.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-nvim-lsp-signature-help = super.cmp-nvim-lsp-signature-help.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; From 8050eaebd1a15a23db2ccdbcc02fd139466db35b Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:15:55 +0200 Subject: [PATCH 08/12] vimPlugins.cmp-omni: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index b487e7728115..3ae27d5dec37 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -796,6 +796,10 @@ assertNoAdditions { checkInputs = [ self.nvim-cmp ]; }; + cmp-omni = super.cmp-omni.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-pandoc-nvim = super.cmp-pandoc-nvim.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = [ self.plenary-nvim ]; From a18ccd4fa4974d8ebd091936007ca9d72eab5206 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:16:46 +0200 Subject: [PATCH 09/12] vimPlugins.cmp-spell: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 3ae27d5dec37..a9631ac7dc66 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -822,6 +822,10 @@ assertNoAdditions { dependencies = [ self.nvim-snippy ]; }; + cmp-spell = super.cmp-spell.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-tabby = super.cmp-tabby.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; From 8fde2e95716c28b062f751be953f7968498ccd6e Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:17:28 +0200 Subject: [PATCH 10/12] vimPlugins.cmp-treesitter: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index a9631ac7dc66..b0635adfb1d5 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -845,6 +845,10 @@ assertNoAdditions { dependencies = [ tmux ]; }; + cmp-treesitter = super.cmp-treesitter.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-vim-lsp = super.cmp-vim-lsp.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = [ self.vim-lsp ]; From 6ff81cfcc5728b0908ce92cae7f0274b6224232f Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 22:18:00 +0200 Subject: [PATCH 11/12] vimPlugins.cmp_yanky: add nvim-cmp to checkInputs --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index b0635adfb1d5..e2d9bfdb2009 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -877,6 +877,10 @@ assertNoAdditions { dependencies = [ self.luasnip ]; }; + cmp_yanky = super.cmp_yanky.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cobalt2-nvim = super.cobalt2-nvim.overrideAttrs { dependencies = with self; [ colorbuddy-nvim ]; # Few broken themes From 6908c8e070ecf5579a6ee5191a7c47e0b7e67206 Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 2 Jun 2026 19:01:20 +0200 Subject: [PATCH 12/12] neovim-require-check-hook: make sure plugin scripts are sourced --- .../vim/plugins/hooks/neovim-require-check-hook.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh index fcbec2d6afb4..56f92e6e1eb9 100644 --- a/pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh +++ b/pkgs/applications/editors/vim/plugins/hooks/neovim-require-check-hook.sh @@ -60,6 +60,15 @@ run_require_checks() { echo "WARNING: nvimSkipModule got renamed to nvimSkipModules, please update package $name" fi + # Some modules rely on things like globals or user commands being initialised by plugin/ scripts. + # So this hook sets up a dummy packpath containing only the plugin to be tested + # and adds it with packadd before requiring each module. + nvimDataDir=$(nvim -u NONE -i NONE --headless --cmd "lua io.write(vim.fn.stdpath('data'))" +q) + packPathDir="$nvimDataDir/site" + packdir="$nvimDataDir/site/pack/nvimRequireCheckHook/opt" + mkdir -p "$packdir" + ln -s "$out" "$packdir/testPlugin" + for name in "${nvimRequireCheck[@]}"; do local skip=false for module in "${nvimSkipModules[@]}"; do @@ -76,6 +85,8 @@ run_require_checks() { --cmd "set rtp+=$out,${deps// /,}" \ --cmd "set rtp+=$out,${nativeCheckInputs// /,}" \ --cmd "set rtp+=$out,${checkInputs// /,}" \ + --cmd "set packpath^=$packPathDir" \ + --cmd "packadd testPlugin" \ --cmd "lua require('$name')"; then check_passed=true successful_modules+=("$name")