Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 4247 lines 109 kB view raw
1{ 2 lib, 3 stdenv, 4 # nixpkgs functions 5 buildGoModule, 6 buildVimPlugin, 7 callPackage, 8 fetchFromGitHub, 9 fetchpatch, 10 fetchurl, 11 neovimUtils, 12 replaceVars, 13 symlinkJoin, 14 # Language dependencies 15 fetchYarnDeps, 16 mkYarnModules, 17 python3, 18 # Misc dependencies 19 charm-freeze, 20 code-minimap, 21 dailies, 22 dasht, 23 deno, 24 direnv, 25 fzf, 26 gawk, 27 helm-ls, 28 himalaya, 29 htop, 30 jq, 31 khard, 32 languagetool, 33 libgit2, 34 llvmPackages, 35 meson, 36 neovim-unwrapped, 37 nim1, 38 nodejs, 39 notmuch, 40 openscad, 41 openssh, 42 parinfer-rust, 43 phpactor, 44 ranger, 45 ripgrep, 46 skim, 47 sqlite, 48 sshfs, 49 statix, 50 stylish-haskell, 51 tabnine, 52 taskwarrior2, 53 taskwarrior3, 54 tmux, 55 tup, 56 typescript, 57 typescript-language-server, 58 vim, 59 which, 60 xdg-utils, 61 xdotool, 62 xkb-switch, 63 xorg, 64 xxd, 65 ycmd, 66 zathura, 67 zenity, 68 zoxide, 69 zsh, 70 # codeium-nvim dependencies 71 codeium, 72 # command-t dependencies 73 getconf, 74 ruby, 75 # cornelis dependencies 76 cornelis, 77 # cpsm dependencies 78 boost, 79 cmake, 80 icu, 81 ncurses, 82 # devdocs-nvim dependencies 83 pandoc, 84 # nvim-tinygit 85 gitMinimal, 86 # Preview-nvim dependencies 87 md-tui, 88 # sved dependencies 89 glib, 90 gobject-introspection, 91 wrapGAppsHook3, 92 writeText, 93 curl, 94 # vim-agda dependencies 95 agda, 96 # vim-go dependencies 97 asmfmt, 98 delve, 99 errcheck, 100 go-motion, 101 go-tools, 102 gocode-gomod, 103 godef, 104 gogetdoc, 105 golangci-lint, 106 golint, 107 gomodifytags, 108 gopls, 109 gotags, 110 gotools, 111 iferr, 112 impl, 113 reftools, 114 revive, 115 # hurl dependencies 116 hurl, 117 # must be lua51Packages 118 luajitPackages, 119 aider-chat, 120 # typst-preview dependencies 121 tinymist, 122 websocat, 123 # lazydocker.nvim dependencies 124 lazydocker, 125 # lazyjj.nvim dependencies 126 lazyjj, 127 # luau-lsp-nvim dependencies 128 luau-lsp, 129 # uv.nvim dependencies 130 uv, 131 # nvim-vstsl dependencies 132 vtsls, 133 # search-and-replace.nvim dependencies 134 fd, 135 sad, 136 # ethersync vim plugin 137 ethersync, 138}: 139self: super: 140let 141 luaPackages = neovim-unwrapped.lua.pkgs; 142in 143{ 144 corePlugins = symlinkJoin { 145 name = "core-vim-plugins"; 146 paths = with self; [ 147 # plugin managers 148 lazy-nvim 149 mini-deps 150 packer-nvim 151 vim-plug 152 153 # core dependencies 154 plenary-nvim 155 156 # popular plugins 157 mini-nvim 158 nvim-cmp 159 nvim-lspconfig 160 nvim-treesitter 161 vim-airline 162 vim-fugitive 163 vim-surround 164 ]; 165 166 meta = { 167 description = "Collection of popular vim plugins (for internal testing purposes)"; 168 }; 169 }; 170 171 ####################### 172 # Regular overrides 173 174 advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs { 175 checkInputs = with self; [ 176 snacks-nvim 177 ]; 178 dependencies = with self; [ 179 telescope-nvim 180 vim-fugitive 181 vim-rhubarb 182 fzf-lua 183 plenary-nvim 184 ]; 185 }; 186 187 aerial-nvim = super.aerial-nvim.overrideAttrs { 188 # optional dependencies 189 checkInputs = with self; [ 190 lualine-nvim 191 telescope-nvim 192 ]; 193 }; 194 195 agitator-nvim = super.agitator-nvim.overrideAttrs { 196 dependencies = with self; [ 197 telescope-nvim 198 plenary-nvim 199 ]; 200 }; 201 202 aider-nvim = super.aider-nvim.overrideAttrs { 203 patches = [ 204 (replaceVars ./patches/aider-nvim/bin.patch { aider = lib.getExe' aider-chat "aider"; }) 205 ]; 206 }; 207 208 animation-nvim = super.animation-nvim.overrideAttrs { 209 dependencies = [ self.middleclass ]; 210 }; 211 212 arshlib-nvim = super.arshlib-nvim.overrideAttrs { 213 dependencies = with self; [ 214 nui-nvim 215 plenary-nvim 216 ]; 217 }; 218 219 astrocore = super.astrocore.overrideAttrs { 220 dependencies = [ self.lazy-nvim ]; 221 }; 222 223 astroui = super.astroui.overrideAttrs { 224 # Readme states that astrocore is an optional dependency 225 checkInputs = [ self.astrocore ]; 226 }; 227 228 asyncrun-vim = super.asyncrun-vim.overrideAttrs { 229 # Optional toggleterm integration 230 checkInputs = [ self.toggleterm-nvim ]; 231 }; 232 233 autosave-nvim = super.autosave-nvim.overrideAttrs { 234 dependencies = [ self.plenary-nvim ]; 235 }; 236 237 auto-session = super.auto-session.overrideAttrs { 238 # Optional integration 239 checkInputs = [ self.telescope-nvim ]; 240 }; 241 242 aw-watcher-vim = super.aw-watcher-vim.overrideAttrs { 243 patches = [ 244 (replaceVars ./patches/aw-watcher-vim/program_paths.patch { 245 curl = lib.getExe curl; 246 }) 247 ]; 248 }; 249 250 bamboo-nvim = super.bamboo-nvim.overrideAttrs { 251 # Optional integration 252 checkInputs = with self; [ 253 barbecue-nvim 254 lualine-nvim 255 ]; 256 nvimSkipModules = [ 257 # Requires config table 258 "bamboo.colors" 259 "bamboo.terminal" 260 "bamboo.highlights" 261 "bamboo-light" 262 "bamboo-vulgaris" 263 "bamboo-multiplex" 264 "barbecue.theme.bamboo" 265 ]; 266 }; 267 268 barbar-nvim = super.barbar-nvim.overrideAttrs { 269 # Optional integrations 270 checkInputs = with self; [ 271 bufferline-nvim 272 nvim-web-devicons 273 ]; 274 # E5108: Error executing lua ...implugin-barbar.nvim-2025-04-28/lua/bufferline/utils.lua:10: module 'barbar.utils.hl' not found: 275 nvimSkipModules = [ "bufferline.utils" ]; 276 }; 277 278 barbecue-nvim = super.barbecue-nvim.overrideAttrs { 279 dependencies = with self; [ 280 nvim-lspconfig 281 nvim-navic 282 ]; 283 meta = { 284 description = "VS Code like winbar for Neovim"; 285 homepage = "https://github.com/utilyre/barbecue.nvim"; 286 license = lib.licenses.mit; 287 maintainers = with lib.maintainers; [ lightquantum ]; 288 }; 289 }; 290 291 base46 = super.base46.overrideAttrs { 292 dependencies = [ self.nvchad-ui ]; 293 # Requires global config setup 294 nvimSkipModules = [ 295 "nvchad.configs.cmp" 296 "nvchad.configs.gitsigns" 297 "nvchad.configs.luasnip" 298 "nvchad.configs.mason" 299 "nvchad.configs.nvimtree" 300 "nvchad.configs.telescope" 301 ]; 302 }; 303 304 blink-cmp-copilot = super.blink-cmp-copilot.overrideAttrs { 305 dependencies = [ self.copilot-lua ]; 306 }; 307 308 blink-cmp-dictionary = super.blink-cmp-dictionary.overrideAttrs { 309 dependencies = [ self.plenary-nvim ]; 310 }; 311 312 blink-cmp-git = super.blink-cmp-git.overrideAttrs { 313 dependencies = [ self.plenary-nvim ]; 314 }; 315 316 blink-cmp-npm-nvim = super.blink-cmp-npm-nvim.overrideAttrs { 317 nvimSkipModules = [ 318 # Test files 319 "blink-cmp-npm.utils.compute_meta_spec" 320 "blink-cmp-npm.utils.generate_doc_spec" 321 "blink-cmp-npm.utils.ignore_version_spec" 322 "blink-cmp-npm.utils.is_cursor_in_dependencies_node_spec" 323 "blink-cmp-npm.utils.semantic_sort_spec" 324 "minit" 325 ]; 326 }; 327 328 blink-emoji-nvim = super.blink-emoji-nvim.overrideAttrs { 329 dependencies = [ self.blink-cmp ]; 330 }; 331 332 blink-nerdfont-nvim = super.blink-nerdfont-nvim.overrideAttrs { 333 dependencies = [ self.blink-cmp ]; 334 }; 335 336 blink-cmp-words = super.blink-cmp-words.overrideAttrs { 337 dependencies = [ self.blink-cmp ]; 338 }; 339 340 bluloco-nvim = super.bluloco-nvim.overrideAttrs { 341 dependencies = [ self.lush-nvim ]; 342 }; 343 344 bufferline-nvim = super.bufferline-nvim.overrideAttrs { 345 # depends on bufferline.lua being loaded first 346 nvimSkipModules = [ "bufferline.commands" ]; 347 }; 348 349 bufresize-nvim = super.bufresize-nvim.overrideAttrs { 350 meta.license = lib.licenses.mit; 351 }; 352 353 catppuccin-nvim = super.catppuccin-nvim.overrideAttrs { 354 nvimSkipModules = [ 355 "catppuccin.groups.integrations.noice" 356 "catppuccin.groups.integrations.feline" 357 "catppuccin.lib.vim.init" 358 ]; 359 }; 360 361 ccc-nvim = super.ccc-nvim.overrideAttrs { 362 # ccc auto-discover requires all pass 363 # but there's a bootstrap module that hangs forever if we dont stop on first success 364 nvimSkipModules = [ "ccc.kit.Thread.Server._bootstrap" ]; 365 }; 366 367 chadtree = super.chadtree.overrideAttrs { 368 buildInputs = [ 369 python3 370 ]; 371 passthru.python3Dependencies = 372 ps: with ps; [ 373 pynvim-pp 374 pyyaml 375 std2 376 ]; 377 # We need some patches so it stops complaining about not being in a venv 378 patches = [ ./patches/chadtree/emulate-venv.patch ]; 379 }; 380 381 ChatGPT-nvim = super.ChatGPT-nvim.overrideAttrs { 382 dependencies = with self; [ 383 nui-nvim 384 plenary-nvim 385 telescope-nvim 386 ]; 387 }; 388 389 cheatsheet-nvim = super.cheatsheet-nvim.overrideAttrs { 390 dependencies = with self; [ 391 telescope-nvim 392 plenary-nvim 393 ]; 394 }; 395 396 clang_complete = super.clang_complete.overrideAttrs { 397 # In addition to the arguments you pass to your compiler, you also need to 398 # specify the path of the C++ std header (if you are using C++). 399 # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper). 400 # The linked ruby code shows generates the required '.clang_complete' for cmake based projects 401 # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144 402 preFixup = '' 403 substituteInPlace "$out"/plugin/clang_complete.vim \ 404 --replace-fail "let g:clang_library_path = '' 405 + "''" 406 + '' 407 " "let g:clang_library_path='${lib.getLib llvmPackages.libclang}/lib/libclang.so'" 408 409 substituteInPlace "$out"/plugin/libclang.py \ 410 --replace-fail "/usr/lib/clang" "${llvmPackages.clang.cc}/lib/clang" 411 ''; 412 }; 413 414 claude-code-nvim = super.claude-code-nvim.overrideAttrs { 415 dependencies = with self; [ 416 plenary-nvim 417 ]; 418 }; 419 420 clighter8 = super.clighter8.overrideAttrs { 421 preFixup = '' 422 sed "/^let g:clighter8_libclang_path/s|')$|${lib.getLib llvmPackages.clang.cc}/lib/libclang.so')|" \ 423 -i "$out"/plugin/clighter8.vim 424 ''; 425 }; 426 427 clipboard-image-nvim = super.clipboard-image-nvim.overrideAttrs { 428 postPatch = '' 429 sed -i -e 's/require "health"/vim.health/' lua/clipboard-image/health.lua 430 ''; 431 }; 432 433 cmake-tools-nvim = super.cmake-tools-nvim.overrideAttrs { 434 dependencies = [ self.plenary-nvim ]; 435 }; 436 437 cmd-parser-nvim = super.cmd-parser-nvim.overrideAttrs { 438 # Has cmd-parser.init.test matched from lua/cmd-parser/init.test.lua 439 # Can't be required and is only other module 440 nvimRequireCheck = "cmd-parser"; 441 }; 442 443 cmp-ai = super.cmp-ai.overrideAttrs { 444 # We dont want to bundle nvim-cmp anymore since blink.nvim can use these sources. 445 # Add to check inputs though to validate plugin 446 checkInputs = [ self.nvim-cmp ]; 447 dependencies = with self; [ 448 plenary-nvim 449 ]; 450 }; 451 452 cmp-beancount = super.cmp-beancount.overrideAttrs { 453 checkInputs = [ self.nvim-cmp ]; 454 }; 455 456 cmp-clippy = super.cmp-clippy.overrideAttrs { 457 checkInputs = [ self.nvim-cmp ]; 458 dependencies = with self; [ 459 plenary-nvim 460 ]; 461 }; 462 463 cmp-cmdline = super.cmp-cmdline.overrideAttrs { 464 checkInputs = [ self.nvim-cmp ]; 465 }; 466 467 cmp-conjure = super.cmp-conjure.overrideAttrs { 468 checkInputs = [ self.nvim-cmp ]; 469 dependencies = [ self.conjure ]; 470 }; 471 472 cmp-copilot = super.cmp-copilot.overrideAttrs { 473 checkInputs = [ self.nvim-cmp ]; 474 dependencies = [ self.copilot-vim ]; 475 }; 476 477 cmp-ctags = super.cmp-ctags.overrideAttrs { 478 checkInputs = [ self.nvim-cmp ]; 479 }; 480 481 cmp-dap = super.cmp-dap.overrideAttrs { 482 checkInputs = [ self.nvim-cmp ]; 483 dependencies = [ self.nvim-dap ]; 484 }; 485 486 cmp-dictionary = super.cmp-dictionary.overrideAttrs { 487 checkInputs = [ self.nvim-cmp ]; 488 nvimSkipModules = [ 489 # Test files 490 "cmp_dictionary.dict.external_spec" 491 "cmp_dictionary.dict.trie_spec" 492 "cmp_dictionary.lib.trie_spec" 493 "cmp_dictionary.lib.unknown_spec" 494 ]; 495 }; 496 497 cmp-digraphs = super.cmp-digraphs.overrideAttrs { 498 checkInputs = [ self.nvim-cmp ]; 499 }; 500 501 cmp-fish = super.cmp-fish.overrideAttrs { 502 checkInputs = [ self.nvim-cmp ]; 503 }; 504 505 cmp-fuzzy-buffer = super.cmp-fuzzy-buffer.overrideAttrs { 506 checkInputs = [ self.nvim-cmp ]; 507 dependencies = [ self.fuzzy-nvim ]; 508 }; 509 510 cmp-fuzzy-path = super.cmp-fuzzy-path.overrideAttrs { 511 checkInputs = [ self.nvim-cmp ]; 512 dependencies = [ self.fuzzy-nvim ]; 513 }; 514 515 cmp-git = super.cmp-git.overrideAttrs { 516 checkInputs = [ self.nvim-cmp ]; 517 dependencies = with self; [ plenary-nvim ]; 518 }; 519 520 cmp-greek = super.cmp-greek.overrideAttrs { 521 checkInputs = [ self.nvim-cmp ]; 522 }; 523 524 cmp-look = super.cmp-look.overrideAttrs { 525 checkInputs = [ self.nvim-cmp ]; 526 }; 527 528 cmp_luasnip = super.cmp_luasnip.overrideAttrs { 529 checkInputs = [ self.nvim-cmp ]; 530 dependencies = [ self.luasnip ]; 531 }; 532 533 cmp-neosnippet = super.cmp-neosnippet.overrideAttrs { 534 checkInputs = [ self.nvim-cmp ]; 535 dependencies = [ self.neosnippet-vim ]; 536 }; 537 538 cmp-nixpkgs-maintainers = super.cmp-nixpkgs-maintainers.overrideAttrs { 539 checkInputs = [ self.nvim-cmp ]; 540 }; 541 542 cmp-npm = super.cmp-npm.overrideAttrs { 543 checkInputs = [ self.nvim-cmp ]; 544 dependencies = [ self.plenary-nvim ]; 545 }; 546 547 cmp-nvim-lsp-signature-help = super.cmp-nvim-lsp-signature-help.overrideAttrs { 548 checkInputs = [ self.nvim-cmp ]; 549 }; 550 551 cmp-nvim-lua = super.cmp-nvim-lua.overrideAttrs { 552 checkInputs = [ self.nvim-cmp ]; 553 }; 554 555 cmp-nvim-tags = super.cmp-nvim-tags.overrideAttrs { 556 checkInputs = [ self.nvim-cmp ]; 557 }; 558 559 cmp-nvim-ultisnips = super.cmp-nvim-ultisnips.overrideAttrs { 560 checkInputs = [ self.nvim-cmp ]; 561 }; 562 563 cmp-pandoc-nvim = super.cmp-pandoc-nvim.overrideAttrs { 564 checkInputs = [ self.nvim-cmp ]; 565 dependencies = [ self.plenary-nvim ]; 566 }; 567 568 cmp-pandoc-references = super.cmp-pandoc-references.overrideAttrs { 569 checkInputs = [ self.nvim-cmp ]; 570 }; 571 572 cmp-path = super.cmp-path.overrideAttrs { 573 checkInputs = [ self.nvim-cmp ]; 574 }; 575 576 cmp-rg = super.cmp-rg.overrideAttrs { 577 checkInputs = [ self.nvim-cmp ]; 578 }; 579 580 cmp-snippy = super.cmp-snippy.overrideAttrs { 581 checkInputs = [ self.nvim-cmp ]; 582 dependencies = [ self.nvim-snippy ]; 583 }; 584 585 cmp-tabby = super.cmp-tabby.overrideAttrs { 586 checkInputs = [ self.nvim-cmp ]; 587 }; 588 589 cmp-tabnine = super.cmp-tabnine.overrideAttrs { 590 checkInputs = [ self.nvim-cmp ]; 591 buildInputs = [ tabnine ]; 592 593 postFixup = '' 594 mkdir -p $target/binaries/${tabnine.version} 595 ln -s ${tabnine}/bin/ $target/binaries/${tabnine.version}/${tabnine.passthru.platform} 596 ''; 597 }; 598 599 cmp-tmux = super.cmp-tmux.overrideAttrs { 600 checkInputs = [ self.nvim-cmp ]; 601 dependencies = [ tmux ]; 602 }; 603 604 cmp-vim-lsp = super.cmp-vim-lsp.overrideAttrs { 605 checkInputs = [ self.nvim-cmp ]; 606 dependencies = [ self.vim-lsp ]; 607 }; 608 609 cmp-vimtex = super.cmp-vimtex.overrideAttrs { 610 checkInputs = [ self.nvim-cmp ]; 611 }; 612 613 cmp-vimwiki-tags = super.cmp-vimwiki-tags.overrideAttrs { 614 checkInputs = [ self.nvim-cmp ]; 615 dependencies = [ self.vimwiki ]; 616 }; 617 618 cmp-vsnip = super.cmp-vsnip.overrideAttrs { 619 checkInputs = [ self.nvim-cmp ]; 620 }; 621 622 cmp-zsh = super.cmp-zsh.overrideAttrs { 623 checkInputs = [ self.nvim-cmp ]; 624 dependencies = [ zsh ]; 625 }; 626 627 cobalt2-nvim = super.cobalt2-nvim.overrideAttrs { 628 dependencies = with self; [ colorbuddy-nvim ]; 629 # Few broken themes 630 nvimSkipModules = [ 631 "cobalt2.plugins.init" 632 "cobalt2.plugins.trouble" 633 "cobalt2.plugins.gitsigns" 634 "cobalt2.plugins.package-info" 635 "cobalt2.plugins.indent-blankline" 636 "cobalt2.plugins.marks" 637 "cobalt2.theme" 638 ]; 639 }; 640 641 codecompanion-nvim = super.codecompanion-nvim.overrideAttrs { 642 checkInputs = with self; [ 643 # Optional completion 644 blink-cmp 645 nvim-cmp 646 # Optional pickers 647 fzf-lua 648 mini-nvim 649 snacks-nvim 650 telescope-nvim 651 ]; 652 dependencies = [ self.plenary-nvim ]; 653 nvimSkipModules = [ 654 # Requires setup call 655 "codecompanion.actions.static" 656 "codecompanion.actions.init" 657 # Test 658 "minimal" 659 ]; 660 }; 661 662 codecompanion-history-nvim = super.codecompanion-history-nvim.overrideAttrs { 663 dependencies = with self; [ 664 # transitive dependency for codecompanion-nvim 665 plenary-nvim 666 667 codecompanion-nvim 668 ]; 669 }; 670 671 windsurf-nvim = 672 let 673 # Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json 674 codeiumVersion = "1.20.9"; 675 codeiumHashes = { 676 x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM="; 677 aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4="; 678 x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE="; 679 aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48="; 680 }; 681 682 codeium' = codeium.overrideAttrs rec { 683 version = codeiumVersion; 684 685 src = 686 let 687 inherit (stdenv.hostPlatform) system; 688 throwSystem = throw "Unsupported system: ${system}"; 689 690 platform = 691 { 692 x86_64-linux = "linux_x64"; 693 aarch64-linux = "linux_arm"; 694 x86_64-darwin = "macos_x64"; 695 aarch64-darwin = "macos_arm"; 696 } 697 .${system} or throwSystem; 698 699 hash = codeiumHashes.${system} or throwSystem; 700 in 701 fetchurl { 702 name = "codeium-${version}.gz"; 703 url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${version}/language_server_${platform}.gz"; 704 inherit hash; 705 }; 706 }; 707 708 in 709 super.windsurf-nvim.overrideAttrs { 710 dependencies = [ self.plenary-nvim ]; 711 buildPhase = '' 712 cat << EOF > lua/codeium/installation_defaults.lua 713 return { 714 tools = { 715 language_server = "${codeium'}/bin/codeium_language_server" 716 }; 717 }; 718 EOF 719 ''; 720 721 doCheck = true; 722 checkInputs = [ 723 jq 724 codeium' 725 ]; 726 checkPhase = '' 727 runHook preCheck 728 729 expected_codeium_version=$(jq -r '.version' lua/codeium/versions.json) 730 actual_codeium_version=$(codeium_language_server --version) 731 732 expected_codeium_stamp=$(jq -r '.stamp' lua/codeium/versions.json) 733 actual_codeium_stamp=$(codeium_language_server --stamp | grep STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) 734 735 if [ "$actual_codeium_stamp" != "$expected_codeium_stamp" ]; then 736 echo " 737 The version of codeium patched in vimPlugins.codeium-nvim is incorrect. 738 Expected stamp: $expected_codeium_stamp 739 Actual stamp: $actual_codeium_stamp 740 741 Expected codeium version: $expected_codeium_version 742 Actual codeium version: $actual_codeium_version 743 744 Please, update 'codeiumVersion' in pkgs/applications/editors/vim/plugins/overrides.nix accordingly to: 745 https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json 746 " 747 exit 1 748 fi 749 750 runHook postCheck 751 ''; 752 }; 753 754 codewindow-nvim = super.codewindow-nvim.overrideAttrs { 755 dependencies = [ self.nvim-treesitter ]; 756 }; 757 758 colorful-menu-nvim = super.colorful-menu-nvim.overrideAttrs { 759 # Local bug reproduction modules 760 nvimSkipModules = [ 761 "repro_blink" 762 "repro_cmp" 763 ]; 764 }; 765 766 command-t = super.command-t.overrideAttrs { 767 nativeBuildInputs = [ 768 getconf 769 ]; 770 buildPhase = '' 771 substituteInPlace lua/wincent/commandt/lib/Makefile \ 772 --replace-fail '/bin/bash' 'bash' \ 773 --replace-fail xcrun "" 774 make build 775 ''; 776 }; 777 778 competitest-nvim = super.competitest-nvim.overrideAttrs { 779 dependencies = [ self.nui-nvim ]; 780 }; 781 782 compiler-explorer-nvim = super.compiler-explorer-nvim.overrideAttrs { 783 dependencies = [ self.plenary-nvim ]; 784 }; 785 786 compiler-nvim = super.compiler-nvim.overrideAttrs { 787 dependencies = [ self.overseer-nvim ]; 788 }; 789 790 completion-buffers = super.completion-buffers.overrideAttrs { 791 dependencies = [ self.completion-nvim ]; 792 }; 793 794 completion-tabnine = super.completion-tabnine.overrideAttrs { 795 dependencies = [ self.completion-nvim ]; 796 buildInputs = [ tabnine ]; 797 postFixup = '' 798 mkdir -p $target/binaries 799 ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s) 800 ''; 801 }; 802 803 completion-treesitter = super.completion-treesitter.overrideAttrs { 804 dependencies = with self; [ 805 completion-nvim 806 nvim-treesitter 807 ]; 808 }; 809 810 conjure = super.conjure.overrideAttrs { 811 dependencies = [ self.plenary-nvim ]; 812 nvimSkipModules = [ 813 # Test mismatch of directory because of nix generated path 814 "conjure-spec.client.fennel.nfnl_spec" 815 ]; 816 }; 817 818 context-vim = super.context-vim.overrideAttrs { 819 # Vim plugin with optional lua highlight module 820 nvimSkipModules = [ "context.highlight" ]; 821 }; 822 823 CopilotChat-nvim = super.CopilotChat-nvim.overrideAttrs { 824 checkInputs = with self; [ 825 # Optional integrations 826 fzf-lua 827 telescope-nvim 828 snacks-nvim 829 ]; 830 dependencies = with self; [ 831 copilot-lua 832 plenary-nvim 833 ]; 834 }; 835 836 copilot-cmp = super.copilot-cmp.overrideAttrs { 837 dependencies = [ self.copilot-lua ]; 838 }; 839 840 copilot-lualine = super.copilot-lualine.overrideAttrs { 841 dependencies = with self; [ 842 copilot-lua 843 lualine-nvim 844 ]; 845 doInstallCheck = true; 846 }; 847 848 copilot-vim = super.copilot-vim.overrideAttrs (old: { 849 postInstall = '' 850 substituteInPlace $out/autoload/copilot/client.vim \ 851 --replace-fail " let node = get(g:, 'copilot_node_command', ''\'''\')" \ 852 " let node = get(g:, 'copilot_node_command', '${nodejs}/bin/node')" 853 ''; 854 855 meta = old.meta // { 856 license = lib.licenses.unfree; 857 }; 858 }); 859 860 coq_nvim = super.coq_nvim.overrideAttrs { 861 passthru.python3Dependencies = 862 ps: with ps; [ 863 pynvim-pp 864 pyyaml 865 std2 866 ]; 867 868 # We need some patches so it stops complaining about not being in a venv 869 patches = [ ./patches/coq_nvim/emulate-venv.patch ]; 870 871 nvimRequireCheck = [ 872 # Other modules require global variables 873 "coq" 874 ]; 875 }; 876 877 cornelis = super.cornelis.overrideAttrs { 878 dependencies = [ self.vim-textobj-user ]; 879 opt = [ self.vim-which-key ]; 880 # Unconditionally use the cornelis binary provided by the top-level package: 881 patches = [ ./patches/cornelis/0001-Unconditionally-use-global-binary.patch ]; 882 postInstall = '' 883 substituteInPlace $out/ftplugin/agda.vim \ 884 --subst-var-by CORNELIS "${lib.getBin cornelis}/bin/cornelis" 885 ''; 886 }; 887 888 cpsm = super.cpsm.overrideAttrs { 889 nativeBuildInputs = [ cmake ]; 890 buildInputs = [ 891 python3 892 boost 893 icu 894 ncurses 895 ]; 896 buildPhase = '' 897 patchShebangs . 898 export PY3=ON 899 ./install.sh 900 ''; 901 }; 902 903 crates-nvim = super.crates-nvim.overrideAttrs { 904 checkInputs = [ 905 # Optional null-ls integration 906 self.none-ls-nvim 907 ]; 908 dependencies = [ self.plenary-nvim ]; 909 }; 910 911 cspell-nvim = super.cspell-nvim.overrideAttrs { 912 dependencies = with self; [ 913 none-ls-nvim 914 plenary-nvim 915 ]; 916 }; 917 918 ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs { 919 # drop Python 2 patches 920 # https://github.com/JazzCore/ctrlp-cmatcher/pull/44 921 patches = [ 922 (fetchpatch { 923 name = "drop_python2_pt1.patch"; 924 url = "https://github.com/JazzCore/ctrlp-cmatcher/commit/3abad6ea155a7f6e138e1de3ac5428177bfb0254.patch"; 925 sha256 = "sha256-fn2puqYeJdPTdlTT4JjwVz7b3A+Xcuj/xtP6TETlB1U="; 926 }) 927 (fetchpatch { 928 name = "drop_python2_pt2.patch"; 929 url = "https://github.com/JazzCore/ctrlp-cmatcher/commit/385c8d02398dbb328b1a943a94e7109fe6473a08.patch"; 930 sha256 = "sha256-yXKCq8sqO0Db/sZREuSeqKwKO71cmTsAvWftoOQehZo="; 931 }) 932 ]; 933 buildInputs = with python3.pkgs; [ 934 python3 935 setuptools 936 ]; 937 buildPhase = '' 938 patchShebangs . 939 ./install.sh 940 ''; 941 }; 942 943 dailies-nvim = super.dailies-nvim.overrideAttrs { 944 runtimeDeps = [ 945 dailies 946 ]; 947 }; 948 949 darkearth-nvim = super.darkearth-nvim.overrideAttrs { 950 dependencies = [ self.lush-nvim ]; 951 # Lua module used to build theme 952 nvimSkipModules = [ "shipwright_build" ]; 953 }; 954 955 ddc-filter-matcher_head = super.ddc-filter-matcher_head.overrideAttrs { 956 dependencies = [ self.ddc-vim ]; 957 }; 958 959 ddc-filter-sorter_rank = super.ddc-filter-sorter_rank.overrideAttrs { 960 dependencies = [ self.ddc-vim ]; 961 }; 962 963 ddc-fuzzy = super.ddc-fuzzy.overrideAttrs { 964 dependencies = [ self.ddc-vim ]; 965 }; 966 967 ddc-source-around = super.ddc-source-around.overrideAttrs { 968 dependencies = [ self.ddc-vim ]; 969 }; 970 971 ddc-source-file = super.ddc-source-file.overrideAttrs { 972 dependencies = [ self.ddc-vim ]; 973 }; 974 975 ddc-source-lsp = super.ddc-source-lsp.overrideAttrs { 976 dependencies = [ self.ddc-vim ]; 977 }; 978 979 ddc-ui-pum = super.ddc-ui-pum.overrideAttrs { 980 dependencies = with self; [ 981 ddc-vim 982 pum-vim 983 ]; 984 }; 985 986 ddc-ui-native = super.ddc-ui-native.overrideAttrs { 987 dependencies = [ self.ddc-vim ]; 988 }; 989 990 ddc-vim = super.ddc-vim.overrideAttrs { 991 dependencies = [ self.denops-vim ]; 992 }; 993 994 debugmaster-nvim = super.debugmaster-nvim.overrideAttrs { 995 dependencies = [ self.nvim-dap ]; 996 }; 997 998 defx-nvim = super.defx-nvim.overrideAttrs { 999 dependencies = [ self.nvim-yarp ]; 1000 }; 1001 1002 denops-vim = super.denops-vim.overrideAttrs { 1003 postPatch = '' 1004 # Use Nix's Deno instead of an arbitrary install 1005 substituteInPlace ./autoload/denops.vim --replace-fail "call denops#_internal#conf#define('denops#deno', 'deno')" "call denops#_internal#conf#define('denops#deno', '${deno}/bin/deno')" 1006 ''; 1007 }; 1008 1009 deoplete-fish = super.deoplete-fish.overrideAttrs { 1010 dependencies = with self; [ 1011 deoplete-nvim 1012 vim-fish 1013 ]; 1014 }; 1015 1016 deoplete-go = super.deoplete-go.overrideAttrs { 1017 nativeBuildInputs = [ (python3.withPackages (ps: with ps; [ setuptools ])) ]; 1018 buildPhase = '' 1019 pushd ./rplugin/python3/deoplete/ujson 1020 python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build 1021 popd 1022 find ./rplugin/ -name "ujson*.so" -exec mv -v {} ./rplugin/python3/ \; 1023 ''; 1024 }; 1025 1026 deoplete-khard = super.deoplete-khard.overrideAttrs { 1027 dependencies = [ self.deoplete-nvim ]; 1028 passthru.python3Dependencies = ps: [ (ps.toPythonModule khard) ]; 1029 meta = { 1030 description = "Address-completion for khard via deoplete"; 1031 homepage = "https://github.com/nicoe/deoplete-khard"; 1032 license = lib.licenses.mit; 1033 maintainers = with lib.maintainers; [ jorsn ]; 1034 }; 1035 }; 1036 1037 devdocs-nvim = super.devdocs-nvim.overrideAttrs { 1038 nvimSkipModules = [ 1039 # Error initializing Devdocs state 1040 "devdocs.state" 1041 ]; 1042 runtimeDeps = [ 1043 curl 1044 jq 1045 pandoc 1046 ]; 1047 }; 1048 1049 diagram-nvim = super.diagram-nvim.overrideAttrs { 1050 dependencies = [ self.image-nvim ]; 1051 }; 1052 1053 diffview-nvim = super.diffview-nvim.overrideAttrs { 1054 dependencies = [ self.plenary-nvim ]; 1055 1056 nvimSkipModules = [ 1057 # https://github.com/sindrets/diffview.nvim/issues/498 1058 "diffview.api.views.diff.diff_view" 1059 "diffview.scene.layouts.diff_2" 1060 "diffview.scene.layouts.diff_2_hor" 1061 "diffview.scene.layouts.diff_2_ver" 1062 "diffview.scene.layouts.diff_3" 1063 "diffview.scene.layouts.diff_3_hor" 1064 "diffview.scene.layouts.diff_3_mixed" 1065 "diffview.scene.layouts.diff_3_ver" 1066 "diffview.scene.layouts.diff_4" 1067 "diffview.scene.layouts.diff_4_mixed" 1068 "diffview.scene.views.diff.diff_view" 1069 "diffview.scene.views.file_history.file_history_panel" 1070 "diffview.scene.views.file_history.option_panel" 1071 "diffview.scene.window" 1072 "diffview.ui.panels.commit_log_panel" 1073 "diffview.ui.panels.help_panel" 1074 "diffview.ui.panel" 1075 "diffview.vcs.adapters.git.init" 1076 "diffview.vcs.adapters.hg.init" 1077 "diffview.vcs.adapter" 1078 "diffview.vcs.init" 1079 "diffview.vcs.utils" 1080 "diffview.job" 1081 "diffview.lib" 1082 "diffview.multi_job" 1083 ]; 1084 1085 doInstallCheck = true; 1086 }; 1087 1088 direnv-vim = super.direnv-vim.overrideAttrs (old: { 1089 preFixup = old.preFixup or "" + '' 1090 substituteInPlace $out/autoload/direnv.vim \ 1091 --replace-fail "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \ 1092 "let s:direnv_cmd = get(g:, 'direnv_cmd', '${lib.getBin direnv}/bin/direnv')" 1093 ''; 1094 }); 1095 1096 dotnet-nvim = super.dotnet-nvim.overrideAttrs { 1097 dependencies = with self; [ 1098 telescope-nvim 1099 plenary-nvim 1100 ]; 1101 }; 1102 1103 dropbar-nvim = super.dropbar-nvim.overrideAttrs { 1104 # Requires global config table 1105 nvimSkipModules = [ "dropbar.menu" ]; 1106 }; 1107 1108 easy-dotnet-nvim = super.easy-dotnet-nvim.overrideAttrs { 1109 dependencies = with self; [ 1110 plenary-nvim 1111 telescope-nvim 1112 ]; 1113 checkInputs = with self; [ 1114 # Pickers, can use telescope or fzf-lua 1115 fzf-lua 1116 ]; 1117 }; 1118 1119 ecolog-nvim = super.ecolog-nvim.overrideAttrs { 1120 nvimSkipModules = [ 1121 "repro" 1122 ]; 1123 }; 1124 1125 efmls-configs-nvim = super.efmls-configs-nvim.overrideAttrs { 1126 dependencies = [ self.nvim-lspconfig ]; 1127 }; 1128 1129 elixir-tools-nvim = super.elixir-tools-nvim.overrideAttrs { 1130 dependencies = [ self.plenary-nvim ]; 1131 fixupPhase = '' 1132 patchShebangs $(find $out/bin/ -type f -not -name credo-language-server) 1133 ''; 1134 }; 1135 1136 ethersync = buildVimPlugin rec { 1137 inherit (ethersync) 1138 pname 1139 version 1140 src 1141 meta 1142 ; 1143 1144 sourceRoot = "${src.name}/nvim-plugin"; 1145 }; 1146 1147 executor-nvim = super.executor-nvim.overrideAttrs { 1148 dependencies = [ self.nui-nvim ]; 1149 }; 1150 1151 faust-nvim = super.faust-nvim.overrideAttrs { 1152 dependencies = with self; [ 1153 luasnip 1154 nvim-fzf 1155 ]; 1156 nvimSkipModules = [ 1157 # E5108: Error executing lua vim/_init_packages.lua:0: ...in-faust-nvim-2022-06-01/lua/faust-nvim/autosnippets.lua:3: '=' expected near 'wd' 1158 "faust-nvim.autosnippets" 1159 ]; 1160 }; 1161 1162 fcitx-vim = super.fcitx-vim.overrideAttrs { 1163 passthru.python3Dependencies = ps: with ps; [ dbus-python ]; 1164 meta = { 1165 description = "Keep and restore fcitx state when leaving/re-entering insert mode or search mode"; 1166 license = lib.licenses.mit; 1167 }; 1168 }; 1169 1170 flash-nvim = super.flash-nvim.overrideAttrs { 1171 # Docs require lazyvim 1172 # dependencies = with self; [ lazy-nvim ]; 1173 nvimSkipModules = [ "flash.docs" ]; 1174 }; 1175 1176 flit-nvim = super.flit-nvim.overrideAttrs { 1177 dependencies = [ self.leap-nvim ]; 1178 }; 1179 1180 flutter-tools-nvim = super.flutter-tools-nvim.overrideAttrs { 1181 # Optional dap integration 1182 checkInputs = [ self.nvim-dap ]; 1183 dependencies = [ self.plenary-nvim ]; 1184 }; 1185 1186 follow-md-links-nvim = super.follow-md-links-nvim.overrideAttrs { 1187 dependencies = [ self.nvim-treesitter ]; 1188 }; 1189 1190 forms = super.forms.overrideAttrs { 1191 dependencies = [ self.self ]; 1192 }; 1193 1194 freeze-nvim = super.freeze-nvim.overrideAttrs { 1195 runtimeDeps = [ charm-freeze ]; 1196 }; 1197 1198 fruzzy = 1199 let 1200 # until https://github.com/NixOS/nixpkgs/pull/67878 is merged, there's no better way to install nim libraries with nix 1201 nimpy = fetchFromGitHub { 1202 owner = "yglukhov"; 1203 repo = "nimpy"; 1204 rev = "4840d1e438985af759ddf0923e7a9250fd8ea0da"; 1205 sha256 = "0qqklvaajjqnlqm3rkk36pwwnn7x942mbca7nf2cvryh36yg4q5k"; 1206 }; 1207 binaryheap = fetchFromGitHub { 1208 owner = "bluenote10"; 1209 repo = "nim-heap"; 1210 rev = "c38039309cb11391112571aa332df9c55f625b54"; 1211 sha256 = "05xdy13vm5n8dw2i366ppbznc4cfhq23rdcklisbaklz2jhdx352"; 1212 }; 1213 in 1214 super.fruzzy.overrideAttrs (old: { 1215 buildInputs = [ nim1 ]; 1216 patches = [ 1217 (replaceVars ./patches/fruzzy/get_version.patch { 1218 inherit (old) version; 1219 }) 1220 ]; 1221 configurePhase = '' 1222 substituteInPlace Makefile \ 1223 --replace-fail \ 1224 "nim c" \ 1225 "nim c --nimcache:$TMP --path:${nimpy} --path:${binaryheap}" 1226 ''; 1227 buildPhase = '' 1228 make build 1229 ''; 1230 }); 1231 1232 fugit2-nvim = super.fugit2-nvim.overrideAttrs { 1233 # Requires web-devicons but mini.icons can mock them up 1234 checkInputs = [ 1235 self.nvim-web-devicons 1236 ]; 1237 dependencies = with self; [ 1238 nui-nvim 1239 plenary-nvim 1240 ]; 1241 # Patch libgit2 library dependency 1242 postPatch = '' 1243 substituteInPlace lua/fugit2/libgit2.lua \ 1244 --replace-fail \ 1245 'M.library_path = "libgit2"' \ 1246 'M.library_path = "${lib.getLib libgit2}/lib/libgit2${stdenv.hostPlatform.extensions.sharedLibrary}"' 1247 ''; 1248 }; 1249 1250 fuzzy-nvim = super.fuzzy-nvim.overrideAttrs { 1251 checkInputs = with self; [ 1252 # Optional sorters 1253 telescope-zf-native-nvim 1254 ]; 1255 dependencies = [ self.telescope-fzf-native-nvim ]; 1256 nvimSkipModules = [ 1257 # TODO: package fzy-lua-native 1258 "fuzzy_nvim.fzy_matcher" 1259 ]; 1260 }; 1261 1262 fyler-nvim = super.fyler-nvim.overrideAttrs { 1263 nvimSkipModules = [ 1264 # Requires setup call 1265 "fyler.views.explorer.init" 1266 "fyler.views.explorer.actions" 1267 "fyler.views.explorer.ui" 1268 ]; 1269 }; 1270 1271 fzf-checkout-vim = super.fzf-checkout-vim.overrideAttrs { 1272 # The plugin has a makefile which tries to run tests in a docker container. 1273 # This prevents it. 1274 prePatch = '' 1275 rm Makefile 1276 ''; 1277 }; 1278 1279 fzf-hoogle-vim = super.fzf-hoogle-vim.overrideAttrs (oa: { 1280 # add this to your lua config to prevent the plugin from trying to write in the 1281 # nix store: 1282 # vim.g.hoogle_fzf_cache_file = vim.fn.stdpath('cache')..'/hoogle_cache.json' 1283 propagatedBuildInputs = [ 1284 jq 1285 gawk 1286 ]; 1287 dependencies = [ self.fzf-vim ]; 1288 passthru = oa.passthru // { 1289 1290 initLua = "vim.g.hoogle_fzf_cache_file = vim.fn.stdpath('cache')..'/hoogle_cache.json"; 1291 }; 1292 }); 1293 1294 fzf-lsp-nvim = super.fzf-lsp-nvim.overrideAttrs { 1295 dependencies = [ self.plenary-nvim ]; 1296 }; 1297 1298 fzf-lua = neovimUtils.buildNeovimPlugin { 1299 luaAttr = luaPackages.fzf-lua; 1300 runtimeDeps = [ fzf ]; 1301 nvimSkipModules = [ 1302 "fzf-lua.shell_helper" 1303 "fzf-lua.spawn" 1304 "fzf-lua.rpc" 1305 "fzf-lua.types" 1306 ]; 1307 }; 1308 1309 fzf-vim = super.fzf-vim.overrideAttrs { 1310 dependencies = [ self.fzfWrapper ]; 1311 }; 1312 1313 # Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim 1314 # plugin, since part of the fzf vim plugin is included in the main fzf 1315 # program. 1316 fzfWrapper = buildVimPlugin { 1317 inherit (fzf) src version; 1318 pname = "fzf"; 1319 postInstall = '' 1320 ln -s ${fzf}/bin/fzf $target/bin/fzf 1321 ''; 1322 }; 1323 1324 gen-nvim = super.gen-nvim.overrideAttrs { 1325 runtimeDeps = [ curl ]; 1326 }; 1327 1328 ghcid = super.ghcid.overrideAttrs { 1329 configurePhase = "cd plugins/nvim"; 1330 }; 1331 1332 gh-nvim = super.gh-nvim.overrideAttrs { 1333 dependencies = [ self.litee-nvim ]; 1334 }; 1335 1336 gitlinker-nvim = super.gitlinker-nvim.overrideAttrs { 1337 dependencies = [ self.plenary-nvim ]; 1338 }; 1339 1340 git-conflict-nvim = super.git-conflict-nvim.overrideAttrs { 1341 # TODO: Remove after next fixed version 1342 # https://github.com/akinsho/git-conflict.nvim/issues/103 1343 version = "2.1.0"; 1344 src = fetchFromGitHub { 1345 owner = "akinsho"; 1346 repo = "git-conflict.nvim"; 1347 tag = "v2.1.0"; 1348 hash = "sha256-1t0kKxTGLuOvuRkoLgkoqMZpF+oKo8+gMsTdgPsSb+8="; 1349 }; 1350 }; 1351 1352 git-worktree-nvim = super.git-worktree-nvim.overrideAttrs { 1353 dependencies = [ self.plenary-nvim ]; 1354 }; 1355 1356 go-nvim = super.go-nvim.overrideAttrs { 1357 checkInputs = with self; [ 1358 luasnip 1359 null-ls-nvim 1360 nvim-treesitter 1361 ]; 1362 nvimSkipModules = [ 1363 # _GO_NVIM_CFG 1364 "go.inlay" 1365 "go.project" 1366 "go.comment" 1367 "go.tags" 1368 "go.gotests" 1369 "go.format" 1370 "go.ts.go" 1371 "go.ts.nodes" 1372 "go.snips" 1373 "snips.go" 1374 ]; 1375 }; 1376 1377 GPTModels-nvim = super.GPTModels-nvim.overrideAttrs { 1378 dependencies = with self; [ 1379 nui-nvim 1380 telescope-nvim 1381 ]; 1382 }; 1383 1384 guard-collection = super.guard-collection.overrideAttrs { 1385 dependencies = [ self.guard-nvim ]; 1386 }; 1387 1388 gx-nvim = super.gx-nvim.overrideAttrs { 1389 patches = lib.optionals stdenv.hostPlatform.isLinux [ 1390 (replaceVars ./patches/gx-nvim/fix-paths.patch { 1391 inherit xdg-utils; 1392 }) 1393 ]; 1394 1395 nvimRequireCheck = "gx"; 1396 }; 1397 1398 hardhat-nvim = super.hardhat-nvim.overrideAttrs { 1399 checkInputs = with self; [ 1400 # optional integrations 1401 neotest 1402 telescope-nvim 1403 overseer-nvim 1404 ]; 1405 1406 dependencies = with self; [ 1407 plenary-nvim 1408 ]; 1409 1410 nvimSkipModules = [ 1411 # Cannot find hardhat.extmarks 1412 "overseer.component.hardhat.refresh_gas_extmarks" 1413 ]; 1414 }; 1415 1416 harpoon = super.harpoon.overrideAttrs { 1417 dependencies = [ self.plenary-nvim ]; 1418 }; 1419 1420 harpoon2 = super.harpoon2.overrideAttrs { 1421 dependencies = [ self.plenary-nvim ]; 1422 nvimSkipModules = [ 1423 # Access harpoon data file 1424 "harpoon.scratch.toggle" 1425 ]; 1426 }; 1427 1428 haskell-scope-highlighting-nvim = super.haskell-scope-highlighting-nvim.overrideAttrs { 1429 dependencies = [ self.nvim-treesitter ]; 1430 }; 1431 1432 haskell-snippets-nvim = super.haskell-snippets-nvim.overrideAttrs { 1433 dependencies = [ self.luasnip ]; 1434 }; 1435 1436 haskell-tools-nvim = neovimUtils.buildNeovimPlugin { 1437 # Optional integrations 1438 checkInputs = [ self.telescope-nvim ]; 1439 luaAttr = luaPackages.haskell-tools-nvim; 1440 }; 1441 1442 helm-ls-nvim = super.helm-ls-nvim.overrideAttrs { 1443 runtimeDeps = [ 1444 helm-ls 1445 ]; 1446 }; 1447 1448 helpview-nvim = super.helpview-nvim.overrideAttrs { 1449 nvimSkipModules = [ "definitions.__vimdoc" ]; 1450 }; 1451 1452 hex-nvim = super.hex-nvim.overrideAttrs { 1453 runtimeDeps = [ xxd ]; 1454 }; 1455 1456 himalaya-vim = super.himalaya-vim.overrideAttrs { 1457 buildInputs = [ himalaya ]; 1458 # Optional integrations 1459 checkInputs = with self; [ 1460 fzf-lua 1461 telescope-nvim 1462 ]; 1463 }; 1464 1465 hover-nvim = super.hover-nvim.overrideAttrs { 1466 # Single provider issue with reading from config 1467 # /lua/hover/providers/fold_preview.lua:27: attempt to index local 'config' (a nil value) 1468 nvimSkipModules = "hover.providers.fold_preview"; 1469 }; 1470 1471 hunk-nvim = super.hunk-nvim.overrideAttrs { 1472 dependencies = [ self.nui-nvim ]; 1473 }; 1474 1475 # https://hurl.dev/ 1476 hurl = buildVimPlugin { 1477 pname = "hurl"; 1478 version = hurl.version; 1479 # dontUnpack = true; 1480 1481 src = "${hurl.src}/contrib/vim"; 1482 }; 1483 1484 hurl-nvim = super.hurl-nvim.overrideAttrs { 1485 dependencies = with self; [ 1486 nui-nvim 1487 nvim-treesitter 1488 plenary-nvim 1489 ]; 1490 1491 runtimeDeps = [ 1492 hurl 1493 ]; 1494 1495 nvimSkipModules = [ 1496 # attempt to index global '_HURL_GLOBAL_CONFIG' (a nil value) 1497 "hurl.popup" 1498 "hurl.split" 1499 ]; 1500 }; 1501 1502 idris2-nvim = super.idris2-nvim.overrideAttrs { 1503 dependencies = with self; [ 1504 nui-nvim 1505 nvim-lspconfig 1506 ]; 1507 1508 doInstallCheck = true; 1509 }; 1510 1511 indent-blankline-nvim = super.indent-blankline-nvim.overrideAttrs { 1512 # Meta file 1513 nvimSkipModules = "ibl.config.types"; 1514 }; 1515 1516 indent-tools-nvim = super.indent-tools-nvim.overrideAttrs { 1517 dependencies = with self; [ 1518 arshlib-nvim 1519 nvim-treesitter 1520 nvim-treesitter-textobjects 1521 ]; 1522 }; 1523 1524 instant-nvim = super.instant-nvim.overrideAttrs { 1525 nvimSkipModules = [ 1526 # Requires global variable config 1527 "instant" 1528 # instant/log.lua:12: cannot use '...' outside a vararg function near '...' 1529 "instant.log" 1530 ]; 1531 }; 1532 1533 intellitab-nvim = super.intellitab-nvim.overrideAttrs { 1534 dependencies = [ self.nvim-treesitter ]; 1535 }; 1536 1537 jdd-nvim = super.jdd-nvim.overrideAttrs { 1538 dependencies = [ self.plenary-nvim ]; 1539 }; 1540 1541 jedi-vim = super.jedi-vim.overrideAttrs { 1542 # checking for python3 support in vim would be neat, too, but nobody else seems to care 1543 buildInputs = [ python3.pkgs.jedi ]; 1544 meta = { 1545 description = "code-completion for python using python-jedi"; 1546 license = lib.licenses.mit; 1547 }; 1548 }; 1549 1550 jellybeans-nvim = super.jellybeans-nvim.overrideAttrs { 1551 dependencies = [ self.lush-nvim ]; 1552 }; 1553 1554 jupytext-nvim = super.jupytext-nvim.overrideAttrs { 1555 passthru.python3Dependencies = ps: [ ps.jupytext ]; 1556 }; 1557 1558 kanagawa-paper-nvim = super.kanagawa-paper-nvim.overrideAttrs { 1559 nvimSkipModules = [ 1560 # skipping wezterm theme switcher since it relies on a wezterm module 1561 # that does not seem to be available, tried to build setting wezterm-nvim as a dep 1562 "wezterm.theme_switcher" 1563 ]; 1564 }; 1565 1566 kulala-nvim = super.kulala-nvim.overrideAttrs { 1567 dependencies = with self; [ 1568 nvim-treesitter 1569 nvim-treesitter-parsers.http 1570 ]; 1571 buildInputs = [ curl ]; 1572 postPatch = '' 1573 substituteInPlace lua/kulala/config/defaults.lua \ 1574 --replace-fail 'curl_path = "curl"' 'curl_path = "${lib.getExe curl}"' 1575 ''; 1576 nvimSkipModules = [ 1577 # Requires some extra work to get CLI working in nixpkgs 1578 "cli.kulala_cli" 1579 ]; 1580 }; 1581 1582 lazydocker-nvim = super.lazydocker-nvim.overrideAttrs { 1583 runtimeDeps = [ 1584 lazydocker 1585 ]; 1586 }; 1587 1588 lazyjj-nvim = super.lazyjj-nvim.overrideAttrs { 1589 dependencies = [ self.plenary-nvim ]; 1590 runtimeDeps = [ 1591 lazyjj 1592 ]; 1593 }; 1594 1595 LazyVim = super.LazyVim.overrideAttrs { 1596 # Any other dependency is optional 1597 dependencies = [ self.lazy-nvim ]; 1598 nvimSkipModules = [ 1599 # attempt to index global 'LazyVim' (a nil value) 1600 "lazyvim.config.keymaps" 1601 "lazyvim.plugins.extras.ai.tabnine" 1602 "lazyvim.plugins.extras.coding.blink" 1603 "lazyvim.plugins.extras.coding.luasnip" 1604 "lazyvim.plugins.extras.coding.neogen" 1605 "lazyvim.plugins.extras.editor.fzf" 1606 "lazyvim.plugins.extras.editor.snacks_picker" 1607 "lazyvim.plugins.extras.editor.telescope" 1608 "lazyvim.plugins.extras.formatting.prettier" 1609 "lazyvim.plugins.extras.lang.markdown" 1610 "lazyvim.plugins.extras.lang.omnisharp" 1611 "lazyvim.plugins.extras.lang.python" 1612 "lazyvim.plugins.extras.lang.svelte" 1613 "lazyvim.plugins.extras.lang.typescript" 1614 "lazyvim.plugins.init" 1615 "lazyvim.plugins.ui" 1616 "lazyvim.plugins.xtras" 1617 ]; 1618 }; 1619 1620 lazy-lsp-nvim = super.lazy-lsp-nvim.overrideAttrs { 1621 dependencies = [ self.nvim-lspconfig ]; 1622 }; 1623 1624 lazy-nvim = super.lazy-nvim.overrideAttrs { 1625 patches = [ ./patches/lazy-nvim/no-helptags.patch ]; 1626 nvimSkipModules = [ 1627 # Requires headless config option 1628 "lazy.manage.task.init" 1629 "lazy.manage.checker" 1630 "lazy.manage.init" 1631 "lazy.manage.runner" 1632 "lazy.view.commands" 1633 "lazy.build" 1634 ]; 1635 }; 1636 1637 LeaderF = super.LeaderF.overrideAttrs { 1638 nativeBuildInputs = [ python3.pkgs.setuptools ]; 1639 buildInputs = [ python3 ]; 1640 # rm */build/ to prevent dependencies on gcc 1641 # strip the *.so to keep files small 1642 buildPhase = '' 1643 patchShebangs . 1644 ./install.sh 1645 rm autoload/leaderf/fuzzyMatch_C/build/ -r 1646 ''; 1647 stripDebugList = [ "autoload/leaderf/python" ]; 1648 }; 1649 1650 lean-nvim = super.lean-nvim.overrideAttrs { 1651 dependencies = with self; [ 1652 nvim-lspconfig 1653 plenary-nvim 1654 ]; 1655 }; 1656 1657 leap-ast-nvim = super.leap-ast-nvim.overrideAttrs { 1658 dependencies = with self; [ 1659 leap-nvim 1660 nvim-treesitter 1661 ]; 1662 }; 1663 1664 leetcode-nvim = super.leetcode-nvim.overrideAttrs { 1665 checkInputs = [ self.snacks-nvim ]; 1666 dependencies = with self; [ 1667 nui-nvim 1668 plenary-nvim 1669 telescope-nvim 1670 ]; 1671 1672 doInstallCheck = true; 1673 nvimSkipModules = [ 1674 # Requires setup call 1675 "leetcode.api.auth" 1676 "leetcode.api.headers" 1677 "leetcode.api.interpreter" 1678 "leetcode.api.problems" 1679 "leetcode.api.question" 1680 "leetcode.api.statistics" 1681 "leetcode.api.utils" 1682 "leetcode.cache.cookie" 1683 "leetcode.cache.init" 1684 "leetcode.cache.problemlist" 1685 "leetcode.picker.language.fzf" 1686 "leetcode.picker.question.fzf" 1687 "leetcode.picker.question.init" 1688 "leetcode.picker.question.snacks" 1689 "leetcode.picker.question.telescope" 1690 "leetcode.picker.tabs.fzf" 1691 "leetcode.runner.init" 1692 "leetcode-plugins.cn.api" 1693 "leetcode-ui.group.page.stats" 1694 "leetcode-ui.group.similar-questions" 1695 "leetcode-ui.layout.console" 1696 "leetcode-ui.lines.calendar" 1697 "leetcode-ui.lines.solved" 1698 "leetcode-ui.popup.console.result" 1699 "leetcode-ui.popup.info" 1700 "leetcode-ui.popup.languages" 1701 "leetcode-ui.popup.skills" 1702 "leetcode-ui.question" 1703 "leetcode-ui.renderer.menu" 1704 "leetcode-ui.renderer.result" 1705 ]; 1706 }; 1707 1708 legendary-nvim = super.legendary-nvim.overrideAttrs { 1709 dependencies = [ self.sqlite-lua ]; 1710 nvimSkipModules = [ 1711 "vimdoc-gen" 1712 "vimdocrc" 1713 ]; 1714 }; 1715 1716 lens-vim = super.lens-vim.overrideAttrs { 1717 # remove duplicate g:lens#animate in doc/lens.txt 1718 # https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985 1719 # https://github.com/camspiers/lens.vim/pull/40/files 1720 patches = [ 1721 ./patches/lens-vim/remove_duplicate_g_lens_animate.patch 1722 ]; 1723 }; 1724 1725 lf-nvim = super.lf-nvim.overrideAttrs { 1726 dependencies = [ self.toggleterm-nvim ]; 1727 }; 1728 1729 lf-vim = super.lf-vim.overrideAttrs { 1730 dependencies = [ self.vim-floaterm ]; 1731 }; 1732 1733 lightline-bufferline = super.lightline-bufferline.overrideAttrs { 1734 # Requires web-devicons but mini.icons can mock them up 1735 checkInputs = [ self.nvim-web-devicons ]; 1736 }; 1737 1738 lightswitch-nvim = super.lightswitch-nvim.overrideAttrs { 1739 dependencies = [ self.nui-nvim ]; 1740 }; 1741 1742 lir-nvim = super.lir-nvim.overrideAttrs { 1743 dependencies = [ self.plenary-nvim ]; 1744 }; 1745 1746 lispdocs-nvim = super.lispdocs-nvim.overrideAttrs { 1747 dependencies = with self; [ 1748 conjure 1749 sqlite-lua 1750 telescope-nvim 1751 plenary-nvim 1752 ]; 1753 nvimSkipModules = [ 1754 # Attempt to connect to sqlitedb 1755 "lispdocs.db" 1756 "lispdocs.finder" 1757 "lispdocs" 1758 ]; 1759 }; 1760 1761 litee-calltree-nvim = super.litee-calltree-nvim.overrideAttrs { 1762 dependencies = [ self.litee-nvim ]; 1763 }; 1764 1765 litee-filetree-nvim = super.litee-filetree-nvim.overrideAttrs { 1766 dependencies = [ self.litee-nvim ]; 1767 }; 1768 1769 litee-symboltree-nvim = super.litee-symboltree-nvim.overrideAttrs { 1770 dependencies = [ self.litee-nvim ]; 1771 }; 1772 1773 lspcontainers-nvim = super.lspcontainers-nvim.overrideAttrs { 1774 dependencies = [ self.nvim-lspconfig ]; 1775 }; 1776 1777 lspecho-nvim = super.lspecho-nvim.overrideAttrs { 1778 meta.license = lib.licenses.mit; 1779 }; 1780 1781 lspsaga-nvim = super.lspsaga-nvim.overrideAttrs { 1782 # Other modules require setup call first 1783 nvimRequireCheck = "lspsaga"; 1784 }; 1785 1786 lsp_extensions-nvim = super.lsp_extensions-nvim.overrideAttrs { 1787 dependencies = [ self.plenary-nvim ]; 1788 }; 1789 1790 ltex_extra-nvim = super.ltex_extra-nvim.overrideAttrs { 1791 # Other modules require setup call first 1792 nvimRequireCheck = "ltex_extra"; 1793 }; 1794 1795 lualine-lsp-progress = super.lualine-lsp-progress.overrideAttrs { 1796 dependencies = [ self.lualine-nvim ]; 1797 }; 1798 1799 luasnip-latex-snippets-nvim = super.luasnip-latex-snippets-nvim.overrideAttrs { 1800 dependencies = [ self.luasnip ]; 1801 # E5108: /luasnip-latex-snippets/luasnippets/tex/utils/init.lua:3: module 'luasnip-latex-snippets.luasnippets.utils.conditions' not found: 1802 # Need to fix upstream 1803 nvimSkipModules = [ 1804 "luasnip-latex-snippets.luasnippets.tex.utils.init" 1805 ]; 1806 }; 1807 1808 LuaSnip-snippets-nvim = super.LuaSnip-snippets-nvim.overrideAttrs { 1809 checkInputs = [ self.luasnip ]; 1810 }; 1811 1812 luau-lsp-nvim = super.luau-lsp-nvim.overrideAttrs { 1813 dependencies = [ self.plenary-nvim ]; 1814 runtimeDeps = [ luau-lsp ]; 1815 }; 1816 1817 magma-nvim = super.magma-nvim.overrideAttrs { 1818 passthru.python3Dependencies = 1819 ps: with ps; [ 1820 pynvim 1821 jupyter-client 1822 ueberzug 1823 pillow 1824 cairosvg 1825 plotly 1826 ipykernel 1827 pyperclip 1828 pnglatex 1829 ]; 1830 }; 1831 1832 markdown-preview-nvim = 1833 let 1834 # We only need its dependencies `node-modules`. 1835 nodeDep = mkYarnModules rec { 1836 inherit (super.markdown-preview-nvim) pname version; 1837 packageJSON = ./patches/markdown-preview-nvim/package.json; 1838 yarnLock = "${super.markdown-preview-nvim.src}/yarn.lock"; 1839 offlineCache = fetchYarnDeps { 1840 inherit yarnLock; 1841 hash = "sha256-kzc9jm6d9PJ07yiWfIOwqxOTAAydTpaLXVK6sEWM8gg="; 1842 }; 1843 }; 1844 in 1845 super.markdown-preview-nvim.overrideAttrs { 1846 patches = [ 1847 (replaceVars ./patches/markdown-preview-nvim/fix-node-paths.patch { 1848 node = "${nodejs}/bin/node"; 1849 }) 1850 ]; 1851 postInstall = '' 1852 ln -s ${nodeDep}/node_modules $out/app 1853 ''; 1854 1855 nativeBuildInputs = [ nodejs ]; 1856 doInstallCheck = true; 1857 installCheckPhase = '' 1858 node $out/app/index.js --version 1859 ''; 1860 }; 1861 1862 markid = super.markid.overrideAttrs { 1863 dependencies = [ self.nvim-treesitter ]; 1864 }; 1865 1866 mason-lspconfig-nvim = super.mason-lspconfig-nvim.overrideAttrs { 1867 dependencies = with self; [ 1868 mason-nvim 1869 nvim-lspconfig 1870 ]; 1871 }; 1872 1873 mason-null-ls-nvim = super.mason-null-ls-nvim.overrideAttrs { 1874 dependencies = with self; [ 1875 mason-nvim 1876 null-ls-nvim 1877 ]; 1878 }; 1879 1880 mason-nvim-dap-nvim = super.mason-nvim-dap-nvim.overrideAttrs { 1881 dependencies = with self; [ 1882 mason-nvim 1883 nvim-dap 1884 ]; 1885 }; 1886 1887 mason-nvim = super.mason-nvim.overrideAttrs { 1888 nvimSkipModules = [ 1889 # lua/mason-vendor/zzlib/inflate-bwo.lua:15: 'end' expected near '&' 1890 "mason-vendor.zzlib.inflate-bwo" 1891 # E5108: Error executing lua ...mplugin-mason.nvim-2025-05-06/lua/mason-test/helpers.lua:7: module 'luassert.spy' not found: 1892 "mason-test.helpers" 1893 ]; 1894 }; 1895 1896 mason-tool-installer-nvim = super.mason-tool-installer-nvim.overrideAttrs { 1897 dependencies = [ self.mason-nvim ]; 1898 }; 1899 1900 material-vim = super.material-vim.overrideAttrs { 1901 # Optional integration 1902 checkInputs = [ self.lualine-nvim ]; 1903 }; 1904 1905 meson = buildVimPlugin { 1906 inherit (meson) pname version src; 1907 preInstall = "cd data/syntax-highlighting/vim"; 1908 meta.maintainers = with lib.maintainers; [ vcunat ]; 1909 }; 1910 1911 mind-nvim = super.mind-nvim.overrideAttrs { 1912 dependencies = [ self.plenary-nvim ]; 1913 }; 1914 1915 mini-nvim = super.mini-nvim.overrideAttrs { 1916 # reduce closure size 1917 postInstall = '' 1918 rm -rf $out/{Makefile,benchmarks,readmes,tests,scripts} 1919 ''; 1920 }; 1921 1922 minimap-vim = super.minimap-vim.overrideAttrs { 1923 preFixup = '' 1924 substituteInPlace $out/plugin/minimap.vim \ 1925 --replace-fail "code-minimap" "${code-minimap}/bin/code-minimap" 1926 substituteInPlace $out/bin/minimap_generator.sh \ 1927 --replace-fail "code-minimap" "${code-minimap}/bin/code-minimap" 1928 ''; 1929 1930 doInstallCheck = true; 1931 vimCommandCheck = "MinimapToggle"; 1932 }; 1933 1934 minsnip-nvim = buildVimPlugin { 1935 pname = "minsnip.nvim"; 1936 version = "2022-01-04"; 1937 src = fetchFromGitHub { 1938 owner = "jose-elias-alvarez"; 1939 repo = "minsnip.nvim"; 1940 rev = "6ae2f3247b3a2acde540ccef2e843fdfcdfebcee"; 1941 sha256 = "1db5az5civ2bnqg7v3g937mn150ys52258c3glpvdvyyasxb4iih"; 1942 }; 1943 meta.homepage = "https://github.com/jose-elias-alvarez/minsnip.nvim/"; 1944 }; 1945 1946 minuet-ai-nvim = super.minuet-ai-nvim.overrideAttrs { 1947 checkInputs = [ 1948 # optional cmp integration 1949 self.nvim-cmp 1950 self.lualine-nvim 1951 ]; 1952 dependencies = with self; [ plenary-nvim ]; 1953 nvimSkipModules = [ 1954 # Backends require configuration 1955 "minuet.backends.claude" 1956 "minuet.backends.codestral" 1957 "minuet.backends.gemini" 1958 "minuet.backends.huggingface" 1959 "minuet.backends.openai" 1960 "minuet.backends.openai_compatible" 1961 "minuet.backends.openai_fim_compatible" 1962 ]; 1963 }; 1964 1965 mkdnflow-nvim = super.mkdnflow-nvim.overrideAttrs { 1966 dependencies = [ self.plenary-nvim ]; 1967 # Requires setup call and has optional nvim-cmp dependency 1968 nvimRequireCheck = "mkdnflow"; 1969 }; 1970 1971 modicator-nvim = super.modicator-nvim.overrideAttrs { 1972 # Optional lualine integration 1973 nvimSkipModules = "modicator.integration.lualine.init"; 1974 }; 1975 1976 molten-nvim = super.molten-nvim.overrideAttrs { 1977 # Optional image providers 1978 checkInputs = with self; [ 1979 image-nvim 1980 snacks-nvim 1981 wezterm-nvim 1982 ]; 1983 }; 1984 1985 multicursors-nvim = super.multicursors-nvim.overrideAttrs { 1986 dependencies = with self; [ 1987 nvim-treesitter 1988 hydra-nvim 1989 ]; 1990 }; 1991 1992 muren-nvim = super.muren-nvim.overrideAttrs { 1993 dependencies = [ self.plenary-nvim ]; 1994 }; 1995 1996 ncm2 = super.ncm2.overrideAttrs { 1997 dependencies = [ self.nvim-yarp ]; 1998 }; 1999 2000 ncm2-jedi = super.ncm2-jedi.overrideAttrs { 2001 dependencies = with self; [ 2002 nvim-yarp 2003 ncm2 2004 ]; 2005 passthru.python3Dependencies = ps: with ps; [ jedi ]; 2006 }; 2007 2008 ncm2-neoinclude = super.ncm2-neoinclude.overrideAttrs { 2009 dependencies = [ self.neoinclude-vim ]; 2010 }; 2011 2012 ncm2-neosnippet = super.ncm2-neosnippet.overrideAttrs { 2013 dependencies = [ self.neosnippet-vim ]; 2014 }; 2015 2016 ncm2-syntax = super.ncm2-syntax.overrideAttrs { 2017 dependencies = [ self.neco-syntax ]; 2018 }; 2019 2020 ncm2-ultisnips = super.ncm2-ultisnips.overrideAttrs { 2021 dependencies = [ self.ultisnips ]; 2022 }; 2023 2024 neoconf-nvim = super.neoconf-nvim.overrideAttrs { 2025 dependencies = [ self.nvim-lspconfig ]; 2026 2027 doInstallCheck = true; 2028 }; 2029 2030 neogit = super.neogit.overrideAttrs { 2031 # Optional diffview integration 2032 checkInputs = [ self.diffview-nvim ]; 2033 dependencies = [ self.plenary-nvim ]; 2034 nvimSkipModules = [ 2035 # E5108: Error executing lua ...vim-2024-06-13/lua/diffview/api/views/diff/diff_view.lua:13: attempt to index global 'DiffviewGlobal' (a nil value) 2036 "neogit.integrations.diffview" 2037 "neogit.popups.diff.actions" 2038 "neogit.popups.diff.init" 2039 ]; 2040 }; 2041 2042 neorepl-nvim = super.neorepl-nvim.overrideAttrs { 2043 nvimSkipModules = [ 2044 # Requires main module loaded first 2045 "neorepl.bufs" 2046 "neorepl.map" 2047 "neorepl.repl" 2048 ]; 2049 }; 2050 2051 neorg-telescope = super.neorg-telescope.overrideAttrs { 2052 buildInputs = [ luaPackages.lua-utils-nvim ]; 2053 dependencies = with self; [ 2054 neorg 2055 plenary-nvim 2056 telescope-nvim 2057 ]; 2058 }; 2059 2060 neotest-bash = super.neotest-bash.overrideAttrs { 2061 dependencies = with self; [ 2062 neotest 2063 plenary-nvim 2064 ]; 2065 }; 2066 2067 neotest-ctest = super.neotest-ctest.overrideAttrs { 2068 dependencies = with self; [ 2069 neotest 2070 nvim-nio 2071 plenary-nvim 2072 ]; 2073 }; 2074 2075 neotest-dart = super.neotest-dart.overrideAttrs { 2076 dependencies = with self; [ 2077 neotest 2078 nvim-nio 2079 plenary-nvim 2080 ]; 2081 }; 2082 2083 neotest-deno = super.neotest-deno.overrideAttrs { 2084 dependencies = with self; [ 2085 neotest 2086 nvim-nio 2087 plenary-nvim 2088 ]; 2089 }; 2090 2091 neotest-dotnet = super.neotest-dotnet.overrideAttrs { 2092 dependencies = with self; [ 2093 neotest 2094 nvim-nio 2095 plenary-nvim 2096 ]; 2097 }; 2098 2099 neotest-elixir = super.neotest-elixir.overrideAttrs { 2100 dependencies = with self; [ 2101 neotest 2102 nvim-nio 2103 plenary-nvim 2104 ]; 2105 }; 2106 2107 neotest-foundry = super.neotest-foundry.overrideAttrs { 2108 dependencies = with self; [ 2109 neotest 2110 nvim-nio 2111 plenary-nvim 2112 ]; 2113 }; 2114 2115 neotest-go = super.neotest-go.overrideAttrs { 2116 dependencies = with self; [ 2117 neotest 2118 nvim-nio 2119 plenary-nvim 2120 ]; 2121 }; 2122 2123 neotest-golang = super.neotest-golang.overrideAttrs { 2124 dependencies = with self; [ 2125 neotest 2126 nvim-nio 2127 nvim-dap-go 2128 nvim-treesitter 2129 plenary-nvim 2130 ]; 2131 }; 2132 2133 neotest-gradle = super.neotest-gradle.overrideAttrs { 2134 dependencies = with self; [ 2135 neotest 2136 nvim-nio 2137 plenary-nvim 2138 ]; 2139 }; 2140 2141 neotest-gtest = super.neotest-gtest.overrideAttrs { 2142 dependencies = with self; [ 2143 neotest 2144 nvim-nio 2145 plenary-nvim 2146 nvim-treesitter-parsers.cpp 2147 ]; 2148 nvimSkipModules = [ 2149 # lua/plenary/path.lua:511: FileNotFoundError from mkdir because of stdpath parent path missing 2150 "neotest-gtest.executables.global_registry" 2151 "neotest-gtest.executables.init" 2152 "neotest-gtest.executables.registry" 2153 "neotest-gtest.executables.ui" 2154 "neotest-gtest" 2155 "neotest-gtest.neotest_adapter" 2156 "neotest-gtest.report" 2157 "neotest-gtest.storage" 2158 "neotest-gtest.utils" 2159 ]; 2160 }; 2161 2162 neotest-haskell = super.neotest-haskell.overrideAttrs { 2163 dependencies = with self; [ 2164 neotest 2165 plenary-nvim 2166 ]; 2167 }; 2168 2169 neotest-java = super.neotest-java.overrideAttrs { 2170 dependencies = with self; [ 2171 neotest 2172 nvim-nio 2173 plenary-nvim 2174 ]; 2175 }; 2176 2177 neotest-jest = super.neotest-jest.overrideAttrs { 2178 dependencies = with self; [ 2179 neotest 2180 nvim-nio 2181 ]; 2182 # Unit test assert 2183 nvimSkipModules = "neotest-jest-assertions"; 2184 }; 2185 2186 neotest-mocha = super.neotest-mocha.overrideAttrs { 2187 dependencies = with self; [ 2188 neotest 2189 nvim-nio 2190 nvim-treesitter 2191 plenary-nvim 2192 ]; 2193 }; 2194 2195 neotest-minitest = super.neotest-minitest.overrideAttrs { 2196 dependencies = with self; [ 2197 neotest 2198 nvim-nio 2199 plenary-nvim 2200 ]; 2201 }; 2202 2203 neotest-pest = super.neotest-pest.overrideAttrs { 2204 dependencies = with self; [ 2205 neotest 2206 nvim-nio 2207 plenary-nvim 2208 ]; 2209 }; 2210 2211 neotest-phpunit = super.neotest-phpunit.overrideAttrs { 2212 dependencies = with self; [ 2213 neotest 2214 plenary-nvim 2215 nvim-nio 2216 ]; 2217 }; 2218 2219 neotest-playwright = super.neotest-playwright.overrideAttrs { 2220 dependencies = with self; [ 2221 neotest 2222 nvim-nio 2223 plenary-nvim 2224 telescope-nvim 2225 ]; 2226 # Unit test assert 2227 nvimSkipModules = "neotest-playwright-assertions"; 2228 }; 2229 2230 neotest-plenary = super.neotest-plenary.overrideAttrs { 2231 dependencies = with self; [ 2232 neotest 2233 nvim-nio 2234 plenary-nvim 2235 ]; 2236 }; 2237 2238 neotest-python = super.neotest-python.overrideAttrs { 2239 dependencies = with self; [ 2240 neotest 2241 nvim-nio 2242 plenary-nvim 2243 ]; 2244 }; 2245 2246 neotest-rspec = super.neotest-rspec.overrideAttrs { 2247 dependencies = with self; [ 2248 neotest 2249 nvim-nio 2250 plenary-nvim 2251 ]; 2252 }; 2253 2254 neotest-rust = super.neotest-rust.overrideAttrs { 2255 dependencies = with self; [ 2256 neotest 2257 nvim-nio 2258 plenary-nvim 2259 ]; 2260 }; 2261 2262 neotest-scala = super.neotest-scala.overrideAttrs { 2263 dependencies = with self; [ 2264 neotest 2265 nvim-nio 2266 plenary-nvim 2267 ]; 2268 }; 2269 2270 neotest-testthat = super.neotest-testthat.overrideAttrs { 2271 dependencies = with self; [ 2272 neotest 2273 nvim-nio 2274 plenary-nvim 2275 ]; 2276 }; 2277 2278 neotest-vitest = super.neotest-vitest.overrideAttrs { 2279 dependencies = with self; [ 2280 neotest 2281 nvim-nio 2282 plenary-nvim 2283 ]; 2284 # Unit test assert 2285 nvimSkipModules = "neotest-vitest-assertions"; 2286 }; 2287 2288 neotest-zig = super.neotest-zig.overrideAttrs { 2289 dependencies = with self; [ 2290 neotest 2291 nvim-nio 2292 plenary-nvim 2293 ]; 2294 }; 2295 2296 neo-tree-nvim = super.neo-tree-nvim.overrideAttrs { 2297 dependencies = with self; [ 2298 plenary-nvim 2299 nui-nvim 2300 ]; 2301 nvimSkipModule = [ 2302 "neo-tree.types.fixes.compat-0.10" 2303 ]; 2304 }; 2305 2306 netman-nvim = super.netman-nvim.overrideAttrs { 2307 # Optional neo-tree integration 2308 checkInputs = with self; [ 2309 neo-tree-nvim 2310 # FIXME: propagate `neo-tree` dependencies 2311 nui-nvim 2312 plenary-nvim 2313 ]; 2314 }; 2315 2316 neuron-nvim = super.neuron-nvim.overrideAttrs { 2317 dependencies = with self; [ 2318 plenary-nvim 2319 telescope-nvim 2320 ]; 2321 }; 2322 2323 neovim-trunk = super.neovim-trunk.overrideAttrs { 2324 dependencies = with self; [ 2325 plenary-nvim 2326 telescope-nvim 2327 ]; 2328 }; 2329 2330 nlsp-settings-nvim = super.nlsp-settings-nvim.overrideAttrs { 2331 dependencies = [ self.nvim-lspconfig ]; 2332 }; 2333 2334 noctis-nvim = super.noctis-nvim.overrideAttrs { 2335 dependencies = [ self.lush-nvim ]; 2336 }; 2337 2338 noice-nvim = super.noice-nvim.overrideAttrs { 2339 dependencies = [ self.nui-nvim ]; 2340 }; 2341 2342 none-ls-nvim = super.none-ls-nvim.overrideAttrs { 2343 dependencies = [ self.plenary-nvim ]; 2344 }; 2345 2346 NotebookNavigator-nvim = super.NotebookNavigator-nvim.overrideAttrs { 2347 }; 2348 2349 notmuch-vim = notmuch.vim; 2350 2351 nterm-nvim = super.nterm-nvim.overrideAttrs { 2352 dependencies = [ self.aniseed ]; 2353 }; 2354 2355 null-ls-nvim = super.null-ls-nvim.overrideAttrs { 2356 dependencies = [ self.plenary-nvim ]; 2357 }; 2358 2359 nvchad = super.nvchad.overrideAttrs { 2360 # You've signed up for a distro, providing dependencies. 2361 dependencies = with self; [ 2362 gitsigns-nvim 2363 luasnip 2364 mason-nvim 2365 nvim-cmp 2366 nvim-lspconfig 2367 telescope-nvim 2368 nvim-treesitter 2369 ]; 2370 nvimSkipModules = [ 2371 # Requires global config setup 2372 "nvchad.configs.cmp" 2373 "nvchad.configs.gitsigns" 2374 "nvchad.configs.luasnip" 2375 "nvchad.configs.mason" 2376 "nvchad.configs.nvimtree" 2377 "nvchad.configs.telescope" 2378 ]; 2379 }; 2380 2381 nvchad-ui = super.nvchad-ui.overrideAttrs { 2382 dependencies = [ self.nvzone-volt ]; 2383 nvimSkipModules = [ 2384 # Requires global config setup 2385 "nvchad.tabufline.modules" 2386 "nvchad.term.init" 2387 "nvchad.themes.init" 2388 "nvchad.themes.mappings" 2389 "nvchad.cheatsheet.grid" 2390 "nvchad.cheatsheet.simple" 2391 "nvchad.blink.config" 2392 # Circular dependency with base46 2393 "nvchad.utils" 2394 ]; 2395 }; 2396 2397 nvim-autopairs = super.nvim-autopairs.overrideAttrs { 2398 # Optional completion dependency 2399 checkInputs = with self; [ 2400 nvim-cmp 2401 ]; 2402 nvimSkipModules = [ 2403 # compe not packaged anymore 2404 "nvim-autopairs.completion.compe" 2405 ]; 2406 }; 2407 2408 nvim-biscuits = super.nvim-biscuits.overrideAttrs { 2409 dependencies = with self; [ 2410 nvim-treesitter 2411 plenary-nvim 2412 ]; 2413 }; 2414 2415 nvim-cokeline = super.nvim-cokeline.overrideAttrs { 2416 dependencies = [ self.plenary-nvim ]; 2417 }; 2418 2419 nvim-coverage = super.nvim-coverage.overrideAttrs { 2420 dependencies = with self; [ 2421 neotest 2422 plenary-nvim 2423 ]; 2424 nvimSkipModules = [ 2425 # TODO: Add lua-xmlreader package 2426 "coverage.parsers.corbertura" 2427 ]; 2428 }; 2429 2430 nvim-dap-cortex-debug = super.nvim-dap-cortex-debug.overrideAttrs { 2431 dependencies = [ self.nvim-dap ]; 2432 }; 2433 2434 nvim-dap-vscode-js = super.nvim-dap-vscode-js.overrideAttrs { 2435 dependencies = [ self.nvim-dap ]; 2436 }; 2437 2438 nvim-dap-lldb = super.nvim-dap-lldb.overrideAttrs { 2439 dependencies = [ self.nvim-dap ]; 2440 }; 2441 2442 nvim-dap-python = super.nvim-dap-python.overrideAttrs { 2443 dependencies = [ self.nvim-dap ]; 2444 }; 2445 2446 nvim-dap-rego = super.nvim-dap-rego.overrideAttrs { 2447 dependencies = [ self.nvim-dap ]; 2448 }; 2449 2450 nvim-dap-rr = super.nvim-dap-rr.overrideAttrs { 2451 dependencies = [ self.nvim-dap ]; 2452 }; 2453 2454 nvim-dap-ui = super.nvim-dap-ui.overrideAttrs { 2455 dependencies = with self; [ 2456 nvim-dap 2457 nvim-nio 2458 ]; 2459 2460 doInstallCheck = true; 2461 }; 2462 2463 nvim-dap-view = super.nvim-dap-view.overrideAttrs { 2464 dependencies = [ self.nvim-dap ]; 2465 }; 2466 2467 nvim-dap-virtual-text = super.nvim-dap-virtual-text.overrideAttrs { 2468 dependencies = [ self.nvim-dap ]; 2469 }; 2470 2471 nvim-FeMaco-lua = super.nvim-FeMaco-lua.overrideAttrs { 2472 dependencies = [ self.nvim-treesitter ]; 2473 }; 2474 2475 nvim-fzf-commands = super.nvim-fzf-commands.overrideAttrs { 2476 dependencies = [ self.nvim-fzf ]; 2477 # Requires global variable setup nvim_fzf_directory 2478 nvimSkipModules = "fzf-commands.rg"; 2479 }; 2480 2481 nvim-genghis = super.nvim-genghis.overrideAttrs { 2482 dependencies = [ self.dressing-nvim ]; 2483 2484 doInstallCheck = true; 2485 }; 2486 2487 nvim-gps = super.nvim-gps.overrideAttrs { 2488 dependencies = [ self.nvim-treesitter ]; 2489 }; 2490 2491 nvim-highlight-colors = super.nvim-highlight-colors.overrideAttrs { 2492 # Test module 2493 nvimSkipModules = [ 2494 "nvim-highlight-colors.utils_spec" 2495 "nvim-highlight-colors.buffer_utils_spec" 2496 "nvim-highlight-colors.color.converters_spec" 2497 "nvim-highlight-colors.color.patterns_spec" 2498 "nvim-highlight-colors.color.utils_spec" 2499 ]; 2500 }; 2501 2502 nvim-java = super.nvim-java.overrideAttrs { 2503 dependencies = with self; [ 2504 lua-async 2505 mason-nvim 2506 nui-nvim 2507 nvim-dap 2508 nvim-java-core 2509 nvim-java-dap 2510 nvim-java-refactor 2511 nvim-java-test 2512 nvim-lspconfig 2513 ]; 2514 }; 2515 2516 nvim-java-core = super.nvim-java-core.overrideAttrs { 2517 dependencies = with self; [ 2518 mason-nvim 2519 nvim-lspconfig 2520 ]; 2521 }; 2522 2523 nvim-java-dap = super.nvim-java-dap.overrideAttrs { 2524 dependencies = [ self.nvim-java-core ]; 2525 }; 2526 2527 nvim-java-refactor = super.nvim-java-refactor.overrideAttrs { 2528 dependencies = [ self.nvim-java-core ]; 2529 nvimSkipModules = [ 2530 # Requires the `java.utils.ui` module which seems to be provided by `nvim-java` (cyclic dependency) 2531 # -> Skip to avoid infinite recursion 2532 "java-refactor.action" 2533 "java-refactor.refactor" 2534 ]; 2535 }; 2536 2537 nvim-java-test = super.nvim-java-test.overrideAttrs { 2538 dependencies = [ self.nvim-java-core ]; 2539 }; 2540 2541 nvim-lilypond-suite = super.nvim-lilypond-suite.overrideAttrs { 2542 nvimSkipModule = [ 2543 # Option not set immediately 2544 "nvls.errors.lilypond-book" 2545 "nvls.tex" 2546 "nvls.texinfo" 2547 ]; 2548 }; 2549 2550 nvim-lsp-file-operations = super.nvim-lsp-file-operations.overrideAttrs { 2551 dependencies = [ self.plenary-nvim ]; 2552 }; 2553 2554 nvim-lsputils = super.nvim-lsputils.overrideAttrs { 2555 dependencies = [ self.popfix ]; 2556 }; 2557 2558 nvim-metals = super.nvim-metals.overrideAttrs { 2559 dependencies = [ self.plenary-nvim ]; 2560 dontBuild = true; 2561 }; 2562 2563 nvim-moonwalk = super.nvim-moonwalk.overrideAttrs { 2564 # Asserts log file exists before it is created 2565 nvimSkipModules = [ "moonwalk" ]; 2566 }; 2567 2568 nvim-navbuddy = super.nvim-navbuddy.overrideAttrs { 2569 dependencies = with self; [ 2570 nui-nvim 2571 nvim-lspconfig 2572 nvim-navic 2573 ]; 2574 }; 2575 nvim-navic = super.nvim-navic.overrideAttrs { 2576 dependencies = [ self.nvim-lspconfig ]; 2577 }; 2578 2579 nvim-neoclip-lua = super.nvim-neoclip-lua.overrideAttrs { 2580 # Optional dependencies 2581 checkInputs = with self; [ 2582 fzf-lua 2583 telescope-nvim 2584 ]; 2585 }; 2586 2587 nvim-nonicons = super.nvim-nonicons.overrideAttrs { 2588 # Requires web-devicons but mini.icons can mock them up 2589 checkInputs = [ self.nvim-web-devicons ]; 2590 }; 2591 2592 nvim-notify = super.nvim-notify.overrideAttrs { 2593 # Optional fzf integration 2594 checkInputs = [ 2595 self.fzf-lua 2596 ]; 2597 }; 2598 2599 nvim-nu = super.nvim-nu.overrideAttrs { 2600 dependencies = with self; [ 2601 nvim-treesitter 2602 none-ls-nvim 2603 ]; 2604 }; 2605 2606 nvim-paredit = super.nvim-paredit.overrideAttrs { 2607 dependencies = with self; [ nvim-treesitter ]; 2608 }; 2609 2610 nvim-rip-substitute = super.nvim-rip-substitute.overrideAttrs { 2611 buildInputs = [ ripgrep ]; 2612 }; 2613 2614 nvim-scissors = super.nvim-scissors.overrideAttrs { 2615 checkInputs = [ 2616 # Optional telescope picker 2617 self.telescope-nvim 2618 ]; 2619 }; 2620 2621 nvim-snippets = super.nvim-snippets.overrideAttrs { 2622 checkInputs = [ 2623 # Optional cmp integration 2624 self.nvim-cmp 2625 ]; 2626 }; 2627 2628 nvim-surround = super.nvim-surround.overrideAttrs { 2629 checkInputs = [ 2630 # Optional treesitter integration 2631 self.nvim-treesitter 2632 ]; 2633 }; 2634 2635 nvim-teal-maker = super.nvim-teal-maker.overrideAttrs { 2636 postPatch = '' 2637 substituteInPlace lua/tealmaker/init.lua \ 2638 --replace-fail cyan ${luaPackages.cyan}/bin/cyan 2639 ''; 2640 vimCommandCheck = "TealBuild"; 2641 }; 2642 2643 nvim-test = super.nvim-test.overrideAttrs { 2644 # Optional toggleterm integration 2645 checkInputs = [ self.toggleterm-nvim ]; 2646 dependencies = with self; [ 2647 nvim-treesitter 2648 nvim-treesitter-parsers.c_sharp 2649 nvim-treesitter-parsers.go 2650 nvim-treesitter-parsers.haskell 2651 nvim-treesitter-parsers.javascript 2652 nvim-treesitter-parsers.python 2653 nvim-treesitter-parsers.ruby 2654 nvim-treesitter-parsers.rust 2655 nvim-treesitter-parsers.typescript 2656 nvim-treesitter-parsers.zig 2657 ]; 2658 nvimSkipModules = [ 2659 # Broken runners 2660 "nvim-test.runners.zig" 2661 "nvim-test.runners.hspec" 2662 "nvim-test.runners.stack" 2663 ]; 2664 }; 2665 2666 nvim-tinygit = super.nvim-tinygit.overrideAttrs { 2667 dependencies = with self; [ 2668 telescope-nvim 2669 ]; 2670 2671 checkInputs = [ 2672 gitMinimal 2673 # transitive dependency (telescope-nvim) not properly propagated to the test environment 2674 self.plenary-nvim 2675 ]; 2676 }; 2677 2678 nvim-tree-lua = super.nvim-tree-lua.overrideAttrs { 2679 nvimSkipModules = [ 2680 # Meta can't be required 2681 "nvim-tree._meta.api" 2682 "nvim-tree._meta.api_decorator" 2683 ]; 2684 }; 2685 2686 nvim-treesitter = super.nvim-treesitter.overrideAttrs ( 2687 callPackage ./nvim-treesitter/overrides.nix { } self super 2688 ); 2689 2690 nvim-treesitter-context = super.nvim-treesitter-context.overrideAttrs { 2691 # Meant for CI installing parsers 2692 nvimSkipModules = [ "install_parsers" ]; 2693 }; 2694 2695 nvim-treesitter-endwise = super.nvim-treesitter-endwise.overrideAttrs { 2696 dependencies = [ self.nvim-treesitter ]; 2697 }; 2698 2699 nvim-treesitter-pairs = super.nvim-treesitter-pairs.overrideAttrs { 2700 dependencies = [ self.nvim-treesitter ]; 2701 }; 2702 2703 nvim-treesitter-parsers = lib.recurseIntoAttrs self.nvim-treesitter.grammarPlugins; 2704 2705 nvim-treesitter-pyfold = super.nvim-treesitter-pyfold.overrideAttrs { 2706 dependencies = [ self.nvim-treesitter ]; 2707 }; 2708 2709 nvim-treesitter-refactor = super.nvim-treesitter-refactor.overrideAttrs { 2710 dependencies = [ self.nvim-treesitter ]; 2711 }; 2712 2713 nvim-treesitter-sexp = super.nvim-treesitter-sexp.overrideAttrs { 2714 dependencies = [ self.nvim-treesitter ]; 2715 }; 2716 2717 nvim-treesitter-textobjects = super.nvim-treesitter-textobjects.overrideAttrs { 2718 dependencies = [ self.nvim-treesitter ]; 2719 }; 2720 2721 nvim-treesitter-textsubjects = super.nvim-treesitter-textsubjects.overrideAttrs { 2722 dependencies = [ self.nvim-treesitter ]; 2723 }; 2724 2725 nvim-trevJ-lua = super.nvim-trevJ-lua.overrideAttrs { 2726 dependencies = [ self.nvim-treesitter ]; 2727 }; 2728 2729 nvim-ufo = super.nvim-ufo.overrideAttrs { 2730 dependencies = [ self.promise-async ]; 2731 }; 2732 2733 nvim-unception = super.nvim-unception.overrideAttrs { 2734 # Attempt rpc socket connection 2735 nvimSkipModules = "client.client"; 2736 }; 2737 2738 nvim-vtsls = super.nvim-vtsls.overrideAttrs { 2739 runtimeDeps = [ vtsls ]; 2740 dependencies = [ self.nvim-lspconfig ]; 2741 }; 2742 2743 nvzone-menu = super.nvzone-menu.overrideAttrs { 2744 checkInputs = with self; [ 2745 # Optional integrations 2746 nvim-tree-lua 2747 neo-tree-nvim 2748 # FIXME: should propagate from neo-tree-nvim 2749 nui-nvim 2750 plenary-nvim 2751 ]; 2752 dependencies = [ self.nvzone-volt ]; 2753 }; 2754 2755 nvzone-minty = super.nvzone-minty.overrideAttrs { 2756 dependencies = [ self.nvzone-volt ]; 2757 }; 2758 2759 nvzone-typr = super.nvzone-typr.overrideAttrs { 2760 dependencies = [ self.nvzone-volt ]; 2761 }; 2762 2763 obsidian-nvim = super.obsidian-nvim.overrideAttrs { 2764 checkInputs = with self; [ 2765 # Optional pickers 2766 fzf-lua 2767 mini-nvim 2768 snacks-nvim 2769 telescope-nvim 2770 ]; 2771 dependencies = [ self.plenary-nvim ]; 2772 nvimSkipModules = [ 2773 # Issue reproduction file 2774 "minimal" 2775 ]; 2776 }; 2777 2778 octo-nvim = super.octo-nvim.overrideAttrs { 2779 checkInputs = with self; [ 2780 # Pickers, can use telescope or fzf-lua 2781 fzf-lua 2782 telescope-nvim 2783 snacks-nvim 2784 ]; 2785 dependencies = with self; [ 2786 plenary-nvim 2787 ]; 2788 }; 2789 2790 oil-git-status-nvim = super.oil-git-status-nvim.overrideAttrs { 2791 dependencies = [ self.oil-nvim ]; 2792 }; 2793 2794 ollama-nvim = super.ollama-nvim.overrideAttrs { 2795 dependencies = [ self.plenary-nvim ]; 2796 }; 2797 2798 omni-vim = super.omni-vim.overrideAttrs { 2799 # Optional lightline integration 2800 nvimSkipModules = "omni-lightline"; 2801 }; 2802 2803 onedark-nvim = super.onedark-nvim.overrideAttrs { 2804 nvimSkipModules = [ 2805 # Requires global config value 2806 "barbecue.theme.onedark" 2807 "onedark.highlights" 2808 "onedark.colors" 2809 "onedark.terminal" 2810 ]; 2811 }; 2812 2813 onehalf = super.onehalf.overrideAttrs { 2814 configurePhase = "cd vim"; 2815 }; 2816 2817 one-nvim = super.one-nvim.overrideAttrs { 2818 # E5108: /lua/one-nvim.lua:14: Unknown option 't_Co' 2819 # https://github.com/Th3Whit3Wolf/one-nvim/issues/23 2820 meta.broken = true; 2821 }; 2822 2823 # The plugin depends on either skim-vim or fzf-vim, but we don't want to force the user so we 2824 # avoid choosing one of them and leave it to the user 2825 openscad-nvim = super.openscad-nvim.overrideAttrs { 2826 buildInputs = [ 2827 zathura 2828 htop 2829 openscad 2830 ]; 2831 2832 # FIXME: can't find plugin root dir 2833 nvimSkipModules = [ 2834 "openscad" 2835 "openscad.snippets.openscad" 2836 "openscad.utilities" 2837 ]; 2838 patches = [ 2839 (replaceVars ./patches/openscad.nvim/program_paths.patch { 2840 htop = lib.getExe htop; 2841 openscad = lib.getExe openscad; 2842 zathura = lib.getExe zathura; 2843 }) 2844 ]; 2845 }; 2846 2847 org-roam-nvim = super.org-roam-nvim.overrideAttrs { 2848 dependencies = [ self.orgmode ]; 2849 }; 2850 2851 otter-nvim = super.otter-nvim.overrideAttrs { 2852 dependencies = [ self.nvim-lspconfig ]; 2853 nvimSkipModules = [ 2854 # requires config setup 2855 "otter.keeper" 2856 "otter.lsp.handlers" 2857 "otter.lsp.init" 2858 "otter.diagnostics" 2859 ]; 2860 }; 2861 2862 outline-nvim = super.outline-nvim.overrideAttrs { 2863 # Requires setup call 2864 nvimSkipModules = "outline.providers.norg"; 2865 }; 2866 2867 overseer-nvim = super.overseer-nvim.overrideAttrs { 2868 checkInputs = with self; [ 2869 # Optional integration 2870 neotest 2871 toggleterm-nvim 2872 nvim-dap 2873 ]; 2874 checkPhase = '' 2875 runHook preCheck 2876 2877 plugins=.testenv/data/nvim/site/pack/plugins/start 2878 mkdir -p "$plugins" 2879 ln -s ${self.plenary-nvim} "$plugins/plenary.nvim" 2880 bash run_tests.sh 2881 rm -r .testenv 2882 2883 runHook postCheck 2884 ''; 2885 }; 2886 2887 package-info-nvim = super.package-info-nvim.overrideAttrs { 2888 dependencies = [ self.nui-nvim ]; 2889 }; 2890 2891 inherit parinfer-rust; 2892 2893 parpar-nvim = super.parpar-nvim.overrideAttrs { 2894 dependencies = with self; [ 2895 nvim-parinfer 2896 nvim-paredit 2897 nvim-treesitter 2898 ]; 2899 }; 2900 2901 parrot-nvim = super.parrot-nvim.overrideAttrs { 2902 runtimeDeps = [ 2903 curl 2904 ]; 2905 2906 dependencies = with self; [ 2907 plenary-nvim 2908 ]; 2909 2910 checkInputs = [ 2911 curl 2912 ripgrep 2913 # Optional integrations 2914 self.blink-cmp 2915 self.nvim-cmp 2916 ]; 2917 }; 2918 2919 peek-nvim = super.peek-nvim.overrideAttrs (old: { 2920 patches = [ 2921 # Patch peek-nvim to run using nixpkgs deno 2922 # This means end-users have to build peek-nvim the first time they use it... 2923 (replaceVars ./patches/peek-nvim/cmd.patch { 2924 deno = lib.getExe deno; 2925 }) 2926 ]; 2927 }); 2928 2929 persisted-nvim = super.persisted-nvim.overrideAttrs { 2930 nvimSkipModules = [ 2931 # /lua/persisted/init.lua:44: attempt to index upvalue 'config' (a nil value) 2932 # https://github.com/olimorris/persisted.nvim/issues/146 2933 "persisted" 2934 "persisted.config" 2935 "persisted.utils" 2936 ]; 2937 }; 2938 2939 persistent-breakpoints-nvim = super.persistent-breakpoints-nvim.overrideAttrs { 2940 dependencies = with self; [ 2941 nvim-dap 2942 ]; 2943 }; 2944 2945 phpactor = buildVimPlugin { 2946 inherit (phpactor) 2947 pname 2948 src 2949 meta 2950 version 2951 ; 2952 postPatch = '' 2953 substituteInPlace plugin/phpactor.vim \ 2954 --replace-fail "g:phpactorpath = expand('<sfile>:p:h') . '/..'" "g:phpactorpath = '${phpactor}'" 2955 ''; 2956 }; 2957 2958 plantuml-nvim = super.plantuml-nvim.overrideAttrs { 2959 dependencies = [ self.LibDeflate-nvim ]; 2960 }; 2961 2962 playground = super.playground.overrideAttrs { 2963 dependencies = with self; [ 2964 # we need the 'query' grammar to make 2965 (nvim-treesitter.withPlugins (p: [ p.query ])) 2966 ]; 2967 }; 2968 2969 poimandres-nvim = super.poimandres-nvim.overrideAttrs { 2970 # Optional treesitter support 2971 nvimSkipModules = "poimandres.highlights"; 2972 }; 2973 2974 popup-nvim = super.popup-nvim.overrideAttrs { 2975 dependencies = [ self.plenary-nvim ]; 2976 }; 2977 2978 Preview-nvim = super.Preview-nvim.overrideAttrs { 2979 patches = [ 2980 (replaceVars ./patches/preview-nvim/hardcode-mdt-binary-path.patch { 2981 mdt = lib.getExe md-tui; 2982 }) 2983 ]; 2984 }; 2985 2986 python-mode = super.python-mode.overrideAttrs { 2987 postPatch = '' 2988 # NOTE: Fix broken symlink - the pytoolconfig directory was moved to src/ 2989 # https://github.com/python-mode/python-mode/pull/1189#issuecomment-3109528360 2990 rm -f pymode/libs/pytoolconfig 2991 ln -sf ../../submodules/pytoolconfig/src/pytoolconfig pymode/libs/pytoolconfig 2992 ''; 2993 }; 2994 2995 pywal-nvim = super.pywal-nvim.overrideAttrs { 2996 # Optional feline integration 2997 nvimSkipModules = "pywal.feline"; 2998 }; 2999 3000 qmk-nvim = super.qmk-nvim.overrideAttrs { 3001 dependencies = [ self.plenary-nvim ]; 3002 nvimSkipModules = [ 3003 # Test assertions 3004 "qmk.config.init_spec" 3005 "qmk.format.keymap_spec" 3006 "qmk.format.qmk_spec" 3007 "qmk.format.zmk_spec" 3008 "qmk.parse.qmk.init_spec" 3009 "qmk.parse.zmk.init_spec" 3010 "qmk_spec" 3011 ]; 3012 }; 3013 3014 quarto-nvim = super.quarto-nvim.overrideAttrs { 3015 checkInputs = [ 3016 # Optional runner 3017 self.iron-nvim 3018 ]; 3019 dependencies = with self; [ 3020 nvim-lspconfig 3021 otter-nvim 3022 ]; 3023 nvimSkipModules = [ 3024 "quarto.runner.init" 3025 ]; 3026 }; 3027 3028 range-highlight-nvim = super.range-highlight-nvim.overrideAttrs { 3029 dependencies = [ self.cmd-parser-nvim ]; 3030 }; 3031 3032 ranger-nvim = super.ranger-nvim.overrideAttrs { 3033 patches = [ ./patches/ranger.nvim/fix-paths.patch ]; 3034 3035 postPatch = '' 3036 substituteInPlace lua/ranger-nvim.lua --replace-fail '@ranger@' ${ranger}/bin/ranger 3037 ''; 3038 }; 3039 3040 refactoring-nvim = super.refactoring-nvim.overrideAttrs { 3041 dependencies = with self; [ 3042 nvim-treesitter 3043 plenary-nvim 3044 ]; 3045 }; 3046 3047 remote-nvim-nvim = super.remote-nvim-nvim.overrideAttrs { 3048 dontPatchShebangs = true; 3049 dependencies = with self; [ 3050 nui-nvim 3051 plenary-nvim 3052 ]; 3053 nvimSkipModules = [ "repro" ]; 3054 }; 3055 3056 remote-sshfs-nvim = super.remote-sshfs-nvim.overrideAttrs { 3057 dependencies = with self; [ 3058 telescope-nvim 3059 plenary-nvim 3060 ]; 3061 runtimeDeps = [ 3062 openssh 3063 sshfs 3064 ]; 3065 }; 3066 3067 renamer-nvim = super.renamer-nvim.overrideAttrs { 3068 dependencies = [ self.plenary-nvim ]; 3069 }; 3070 3071 repolink-nvim = super.repolink-nvim.overrideAttrs { 3072 dependencies = [ self.plenary-nvim ]; 3073 }; 3074 3075 rocks-nvim = 3076 (neovimUtils.buildNeovimPlugin { 3077 luaAttr = luaPackages.rocks-nvim; 3078 }).overrideAttrs 3079 (oa: { 3080 passthru = oa.passthru // { 3081 initLua = '' 3082 vim.g.rocks_nvim = { 3083 luarocks_binary = "${neovim-unwrapped.lua.pkgs.luarocks_bootstrap}/bin/luarocks" 3084 } 3085 ''; 3086 }; 3087 3088 }); 3089 3090 rustaceanvim = neovimUtils.buildNeovimPlugin { 3091 checkInputs = [ 3092 # Optional integration 3093 self.neotest 3094 ]; 3095 luaAttr = luaPackages.rustaceanvim; 3096 }; 3097 3098 rust-tools-nvim = super.rust-tools-nvim.overrideAttrs { 3099 dependencies = [ self.nvim-lspconfig ]; 3100 }; 3101 3102 rzls-nvim = super.rzls-nvim.overrideAttrs { 3103 dependencies = [ self.roslyn-nvim ]; 3104 }; 3105 3106 samodostal-image-nvim = super.samodostal-image-nvim.overrideAttrs { 3107 dependencies = [ self.plenary-nvim ]; 3108 }; 3109 3110 schema-companion-nvim = super.schema-companion-nvim.overrideAttrs { 3111 dependencies = [ self.plenary-nvim ]; 3112 }; 3113 3114 scretch-nvim = super.scretch-nvim.overrideAttrs { 3115 }; 3116 3117 searchbox-nvim = super.searchbox-nvim.overrideAttrs { 3118 dependencies = [ self.nui-nvim ]; 3119 }; 3120 3121 search-and-replace-nvim = super.search-and-replace-nvim.overrideAttrs { 3122 runtimeDeps = [ 3123 fd 3124 sad 3125 ]; 3126 }; 3127 3128 skim = buildVimPlugin { 3129 pname = "skim"; 3130 inherit (skim) version; 3131 src = skim.vim; 3132 }; 3133 3134 skim-vim = super.skim-vim.overrideAttrs { 3135 dependencies = [ self.skim ]; 3136 }; 3137 3138 smart-open-nvim = super.smart-open-nvim.overrideAttrs { 3139 dependencies = with self; [ 3140 plenary-nvim 3141 sqlite-lua 3142 telescope-nvim 3143 ]; 3144 nvimSkipModules = [ 3145 # optional dependency 3146 "smart-open.matching.algorithms.fzf_implementation" 3147 ]; 3148 }; 3149 3150 smart-splits-nvim = super.smart-splits-nvim.overrideAttrs { 3151 nvimSkipModules = [ 3152 "vimdoc-gen" 3153 "vimdocrc" 3154 ]; 3155 }; 3156 3157 snacks-nvim = super.snacks-nvim.overrideAttrs { 3158 # Optional trouble integration 3159 checkInputs = [ self.trouble-nvim ]; 3160 nvimSkipModules = [ 3161 # Requires setup call first 3162 # attempt to index global 'Snacks' (a nil value) 3163 "snacks.dashboard" 3164 "snacks.debug" 3165 "snacks.dim" 3166 "snacks.git" 3167 "snacks.image.convert" 3168 "snacks.image.image" 3169 "snacks.image.init" 3170 "snacks.image.placement" 3171 "snacks.indent" 3172 "snacks.input" 3173 "snacks.lazygit" 3174 "snacks.notifier" 3175 "snacks.picker.actions" 3176 "snacks.picker.config.highlights" 3177 "snacks.picker.core.list" 3178 "snacks.scratch" 3179 "snacks.scroll" 3180 "snacks.terminal" 3181 "snacks.win" 3182 "snacks.words" 3183 "snacks.zen" 3184 # TODO: Plugin requires libsqlite available, create a test for it 3185 "snacks.picker.util.db" 3186 ]; 3187 }; 3188 3189 snap = super.snap.overrideAttrs { 3190 nvimSkipModules = [ 3191 "snap.consumer.fzy.all" 3192 "snap.consumer.fzy.filter" 3193 "snap.consumer.fzy.init" 3194 "snap.consumer.fzy.positions" 3195 "snap.consumer.fzy.score" 3196 # circular import 3197 "snap.producer.create" 3198 # https://github.com/camspiers/snap/pull/97 3199 "snap.preview.help" 3200 "snap.producer.vim.help" 3201 ]; 3202 }; 3203 3204 solarized-osaka-nvim = super.solarized-osaka-nvim.overrideAttrs { 3205 checkInputs = [ self.fzf-lua ]; 3206 3207 nvimSkipModules = [ 3208 # lua/solarized-osaka/extra/fzf.lua:55: color not found for header:FzfLuaTitle 3209 "solarized-osaka.extra.fzf" 3210 ]; 3211 }; 3212 3213 spaceman-nvim = super.spaceman-nvim.overrideAttrs { 3214 # Optional telescope integration 3215 nvimSkipModules = "spaceman.adapters.telescope"; 3216 }; 3217 3218 sqlite-lua = super.sqlite-lua.overrideAttrs ( 3219 oa: 3220 let 3221 libsqlite = "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}"; 3222 in 3223 { 3224 postPatch = '' 3225 substituteInPlace lua/sqlite/defs.lua \ 3226 --replace-fail "path = vim.g.sqlite_clib_path" "path = vim.g.sqlite_clib_path or '${lib.escapeShellArg libsqlite}'" 3227 ''; 3228 3229 passthru = oa.passthru // { 3230 initLua = ''vim.g.sqlite_clib_path = "${libsqlite}"''; 3231 }; 3232 3233 nvimSkipModules = [ 3234 # Require "sql.utils" ? 3235 "sqlite.tbl.cache" 3236 # attempt to write to read only database 3237 "sqlite.examples.bookmarks" 3238 ]; 3239 } 3240 ); 3241 3242 ssr = super.ssr-nvim.overrideAttrs { 3243 dependencies = [ self.nvim-treesitter ]; 3244 }; 3245 3246 startup-nvim = super.startup-nvim.overrideAttrs { 3247 dependencies = [ self.plenary-nvim ]; 3248 }; 3249 3250 statix = buildVimPlugin rec { 3251 inherit (statix) pname src meta; 3252 version = "0.1.0"; 3253 postPatch = '' 3254 # check that version is up to date 3255 grep 'pname = "statix-vim"' -A 1 flake.nix \ 3256 | grep -F 'version = "${version}"' 3257 3258 cd vim-plugin 3259 substituteInPlace ftplugin/nix.vim --replace-fail statix ${statix}/bin/statix 3260 substituteInPlace plugin/statix.vim --replace-fail statix ${statix}/bin/statix 3261 ''; 3262 }; 3263 3264 stylish-nvim = super.stylish-nvim.overrideAttrs { 3265 postPatch = '' 3266 substituteInPlace lua/stylish/common/mouse_hover_handler.lua --replace-fail xdotool ${xdotool}/bin/xdotool 3267 substituteInPlace lua/stylish/components/menu.lua --replace-fail xdotool ${xdotool}/bin/xdotool 3268 substituteInPlace lua/stylish/components/menu.lua --replace-fail xwininfo ${xorg.xwininfo}/bin/xwininfo 3269 ''; 3270 }; 3271 3272 supermaven-nvim = super.supermaven-nvim.overrideAttrs { 3273 # TODO: handle supermaven binary 3274 doCheck = false; 3275 }; 3276 3277 sved = 3278 let 3279 # we put the script in its own derivation to benefit the magic of wrapGAppsHook3 3280 svedbackend = stdenv.mkDerivation { 3281 name = "svedbackend-${super.sved.name}"; 3282 inherit (super.sved) src; 3283 nativeBuildInputs = [ 3284 wrapGAppsHook3 3285 gobject-introspection 3286 ]; 3287 buildInputs = [ 3288 glib 3289 (python3.withPackages ( 3290 ps: with ps; [ 3291 pygobject3 3292 pynvim 3293 dbus-python 3294 ] 3295 )) 3296 ]; 3297 preferLocalBuild = true; 3298 installPhase = '' 3299 install -Dt $out/bin ftplugin/evinceSync.py 3300 ''; 3301 }; 3302 # the vim plugin expects evinceSync.py to be a python file, but it is a C wrapper 3303 pythonWrapper = 3304 writeText "evinceSync-wrapper.py" # python 3305 '' 3306 #!${python3}/bin/python3 3307 import os 3308 import sys 3309 os.execv("${svedbackend}/bin/evinceSync.py", sys.argv) 3310 ''; 3311 in 3312 super.sved.overrideAttrs { 3313 preferLocalBuild = true; 3314 postPatch = '' 3315 rm ftplugin/evinceSync.py 3316 install -m 544 ${pythonWrapper} ftplugin/evinceSync.py 3317 ''; 3318 meta = { 3319 description = "synctex support between vim/neovim and evince"; 3320 }; 3321 }; 3322 3323 syntax-tree-surfer = super.syntax-tree-surfer.overrideAttrs { 3324 dependencies = [ self.nvim-treesitter ]; 3325 meta.maintainers = with lib.maintainers; [ callumio ]; 3326 }; 3327 3328 tardis-nvim = super.tardis-nvim.overrideAttrs { 3329 dependencies = [ self.plenary-nvim ]; 3330 meta.maintainers = with lib.maintainers; [ fredeb ]; 3331 }; 3332 3333 taskwarrior2 = buildVimPlugin { 3334 inherit (taskwarrior2) version pname; 3335 src = "${taskwarrior2.src}/scripts/vim"; 3336 }; 3337 3338 taskwarrior3 = buildVimPlugin { 3339 inherit (taskwarrior3) version pname; 3340 src = "${taskwarrior3.src}/scripts/vim"; 3341 }; 3342 3343 telekasten-nvim = super.telekasten-nvim.overrideAttrs { 3344 dependencies = with self; [ 3345 plenary-nvim 3346 telescope-nvim 3347 ]; 3348 }; 3349 3350 telescope-asynctasks-nvim = super.telescope-asynctasks-nvim.overrideAttrs { 3351 dependencies = with self; [ 3352 plenary-nvim 3353 telescope-nvim 3354 ]; 3355 }; 3356 3357 telescope-cheat-nvim = super.telescope-cheat-nvim.overrideAttrs { 3358 dependencies = with self; [ 3359 plenary-nvim 3360 sqlite-lua 3361 telescope-nvim 3362 ]; 3363 }; 3364 3365 telescope-coc-nvim = super.telescope-coc-nvim.overrideAttrs { 3366 dependencies = with self; [ 3367 plenary-nvim 3368 telescope-nvim 3369 ]; 3370 }; 3371 3372 telescope-dap-nvim = super.telescope-dap-nvim.overrideAttrs { 3373 dependencies = with self; [ 3374 plenary-nvim 3375 nvim-dap 3376 telescope-nvim 3377 ]; 3378 }; 3379 3380 telescope-emoji-nvim = super.telescope-emoji-nvim.overrideAttrs { 3381 dependencies = [ self.telescope-nvim ]; 3382 }; 3383 3384 telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs { 3385 dependencies = with self; [ 3386 sqlite-lua 3387 telescope-nvim 3388 plenary-nvim 3389 ]; 3390 # Meta 3391 nvimSkipModules = "frecency.types"; 3392 }; 3393 3394 telescope-fzf-native-nvim = super.telescope-fzf-native-nvim.overrideAttrs { 3395 dependencies = [ self.telescope-nvim ]; 3396 buildPhase = "make"; 3397 meta.platforms = lib.platforms.all; 3398 }; 3399 3400 telescope-fzf-writer-nvim = super.telescope-fzf-writer-nvim.overrideAttrs { 3401 dependencies = with self; [ 3402 plenary-nvim 3403 telescope-nvim 3404 ]; 3405 }; 3406 3407 telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: { 3408 dependencies = [ self.telescope-nvim ]; 3409 preFixup = 3410 let 3411 fzy-lua-native-path = "deps/fzy-lua-native"; 3412 fzy-lua-native = stdenv.mkDerivation { 3413 name = "fzy-lua-native"; 3414 src = "${old.src}/${fzy-lua-native-path}"; 3415 # remove pre-compiled binaries 3416 preBuild = "rm -rf static/*"; 3417 installPhase = '' 3418 install -Dm 444 -t $out/static static/* 3419 install -Dm 444 -t $out/lua lua/* 3420 ''; 3421 }; 3422 in 3423 '' 3424 rm -rf $target/${fzy-lua-native-path}/* 3425 ln -s ${fzy-lua-native}/static $target/${fzy-lua-native-path}/static 3426 ln -s ${fzy-lua-native}/lua $target/${fzy-lua-native-path}/lua 3427 ''; 3428 meta.platforms = lib.platforms.all; 3429 }); 3430 3431 telescope-git-conflicts-nvim = super.telescope-git-conflicts-nvim.overrideAttrs { 3432 dependencies = with self; [ 3433 plenary-nvim 3434 telescope-nvim 3435 ]; 3436 }; 3437 3438 telescope-github-nvim = super.telescope-github-nvim.overrideAttrs { 3439 dependencies = with self; [ 3440 plenary-nvim 3441 telescope-nvim 3442 ]; 3443 }; 3444 3445 telescope-glyph-nvim = super.telescope-github-nvim.overrideAttrs { 3446 dependencies = [ self.telescope-nvim ]; 3447 }; 3448 3449 telescope-live-grep-args-nvim = super.telescope-live-grep-args-nvim.overrideAttrs { 3450 dependencies = with self; [ 3451 plenary-nvim 3452 telescope-nvim 3453 ]; 3454 }; 3455 3456 telescope-lsp-handlers-nvim = super.telescope-lsp-handlers-nvim.overrideAttrs { 3457 dependencies = with self; [ 3458 plenary-nvim 3459 telescope-nvim 3460 ]; 3461 }; 3462 3463 telescope-media-files-nvim = super.telescope-media-files-nvim.overrideAttrs { 3464 dependencies = with self; [ 3465 telescope-nvim 3466 popup-nvim 3467 plenary-nvim 3468 ]; 3469 }; 3470 3471 telescope-project-nvim = super.telescope-project-nvim.overrideAttrs { 3472 dependencies = [ self.plenary-nvim ]; 3473 }; 3474 3475 telescope-smart-history-nvim = super.telescope-smart-history-nvim.overrideAttrs { 3476 dependencies = with self; [ 3477 plenary-nvim 3478 telescope-nvim 3479 ]; 3480 }; 3481 3482 telescope-symbols-nvim = super.telescope-symbols-nvim.overrideAttrs { 3483 dependencies = [ self.telescope-nvim ]; 3484 }; 3485 3486 telescope-ui-select-nvim = super.telescope-ui-select-nvim.overrideAttrs { 3487 dependencies = [ self.telescope-nvim ]; 3488 }; 3489 3490 telescope-ultisnips-nvim = super.telescope-ultisnips-nvim.overrideAttrs { 3491 dependencies = with self; [ 3492 plenary-nvim 3493 telescope-nvim 3494 ]; 3495 }; 3496 3497 telescope-undo-nvim = super.telescope-undo-nvim.overrideAttrs { 3498 dependencies = with self; [ 3499 plenary-nvim 3500 telescope-nvim 3501 ]; 3502 }; 3503 3504 telescope-vim-bookmarks-nvim = super.telescope-vim-bookmarks-nvim.overrideAttrs { 3505 dependencies = with self; [ 3506 plenary-nvim 3507 telescope-nvim 3508 ]; 3509 }; 3510 3511 telescope-z-nvim = super.telescope-z-nvim.overrideAttrs { 3512 dependencies = with self; [ 3513 plenary-nvim 3514 telescope-nvim 3515 ]; 3516 }; 3517 3518 telescope-zf-native-nvim = super.telescope-zf-native-nvim.overrideAttrs { 3519 dependencies = with self; [ telescope-nvim ]; 3520 }; 3521 3522 telescope-zoxide = super.telescope-zoxide.overrideAttrs { 3523 dependencies = with self; [ telescope-nvim ]; 3524 3525 buildInputs = [ zoxide ]; 3526 3527 postPatch = '' 3528 substituteInPlace lua/telescope/_extensions/zoxide/config.lua \ 3529 --replace-fail "zoxide query -ls" "${zoxide}/bin/zoxide query -ls" 3530 ''; 3531 }; 3532 3533 text-case-nvim = super.text-case-nvim.overrideAttrs { 3534 nvimSkipModules = [ 3535 # some leftover from development 3536 "textcase.plugin.range" 3537 ]; 3538 }; 3539 3540 timerly = super.timerly.overrideAttrs { 3541 dependencies = [ self.nvzone-volt ]; 3542 }; 3543 3544 tmux-complete-vim = super.tmux-complete-vim.overrideAttrs { 3545 # Vim plugin with optional nvim-compe lua module 3546 nvimSkipModules = [ "compe_tmux" ]; 3547 }; 3548 3549 todo-comments-nvim = super.todo-comments-nvim.overrideAttrs { 3550 checkInputs = with self; [ 3551 # Optional trouble integration 3552 trouble-nvim 3553 ]; 3554 dependencies = [ self.plenary-nvim ]; 3555 nvimSkipModules = [ 3556 # Optional fzf-lua integration 3557 # fzf-lua server must be running 3558 "todo-comments.fzf" 3559 ]; 3560 }; 3561 3562 tokyonight-nvim = super.tokyonight-nvim.overrideAttrs { 3563 checkInputs = [ self.fzf-lua ]; 3564 nvimSkipModules = [ 3565 # Meta file 3566 "tokyonight.docs" 3567 # Optional integration 3568 "tokyonight.extra.fzf" 3569 ]; 3570 }; 3571 3572 triptych-nvim = super.triptych-nvim.overrideAttrs { 3573 dependencies = [ self.plenary-nvim ]; 3574 }; 3575 3576 trouble-nvim = super.trouble-nvim.overrideAttrs { 3577 # Meta file 3578 nvimSkipModules = "trouble.docs"; 3579 }; 3580 3581 tsc-nvim = super.tsc-nvim.overrideAttrs { 3582 patches = [ ./patches/tsc.nvim/fix-path.patch ]; 3583 3584 postPatch = '' 3585 substituteInPlace lua/tsc/utils.lua --replace-fail '@tsc@' ${typescript}/bin/tsc 3586 ''; 3587 3588 # Unit test 3589 nvimSkipModules = "tsc.better-messages-test"; 3590 }; 3591 3592 tssorter-nvim = super.tssorter-nvim.overrideAttrs { 3593 dependencies = [ self.nvim-treesitter ]; 3594 }; 3595 3596 tup = 3597 let 3598 # Based on the comment at the top of https://github.com/gittup/tup/blob/master/contrib/syntax/tup.vim 3599 ftdetect = builtins.toFile "tup.vim" '' 3600 au BufNewFile,BufRead Tupfile,*.tup setf tup 3601 ''; 3602 in 3603 buildVimPlugin { 3604 inherit (tup) pname version src; 3605 preInstall = '' 3606 mkdir -p vim-plugin/syntax vim-plugin/ftdetect 3607 cp contrib/syntax/tup.vim vim-plugin/syntax/tup.vim 3608 cp "${ftdetect}" vim-plugin/ftdetect/tup.vim 3609 cd vim-plugin 3610 ''; 3611 meta.maintainers = with lib.maintainers; [ enderger ]; 3612 }; 3613 3614 typescript-nvim = super.typescript-nvim.overrideAttrs { 3615 checkInputs = [ 3616 # Optional null-ls integration 3617 self.none-ls-nvim 3618 ]; 3619 dependencies = with self; [ 3620 nvim-lspconfig 3621 ]; 3622 }; 3623 3624 typescript-tools-nvim = super.typescript-tools-nvim.overrideAttrs { 3625 dependencies = with self; [ 3626 nvim-lspconfig 3627 plenary-nvim 3628 ]; 3629 runtimeDeps = [ 3630 typescript-language-server 3631 ]; 3632 }; 3633 3634 typst-preview-nvim = super.typst-preview-nvim.overrideAttrs { 3635 postPatch = '' 3636 substituteInPlace lua/typst-preview/config.lua \ 3637 --replace-fail "['tinymist'] = nil," "tinymist = '${lib.getExe tinymist}'," \ 3638 --replace-fail "['websocat'] = nil," "websocat = '${lib.getExe websocat}'," 3639 ''; 3640 3641 }; 3642 3643 unicode-vim = 3644 let 3645 unicode-data = fetchurl { 3646 url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt"; 3647 sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9"; 3648 }; 3649 in 3650 super.unicode-vim.overrideAttrs (oa: { 3651 # redirect to /dev/null else changes terminal color 3652 buildPhase = '' 3653 cp "${unicode-data}" autoload/unicode/UnicodeData.txt 3654 echo "Building unicode cache" 3655 ${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null 3656 ''; 3657 3658 passthru = oa.passthru // { 3659 3660 initLua = ''vim.g.Unicode_data_directory="${self.unicode-vim}/autoload/unicode"''; 3661 }; 3662 }); 3663 3664 unison = super.unison.overrideAttrs { 3665 # Editor stuff isn't at top level 3666 postPatch = "cd editor-support/vim"; 3667 }; 3668 3669 uv-nvim = super.uv-nvim.overrideAttrs { 3670 dependencies = with self; [ 3671 telescope-nvim 3672 ]; 3673 runtimeDeps = [ uv ]; 3674 }; 3675 3676 vCoolor-vim = super.vCoolor-vim.overrideAttrs { 3677 # on linux can use either Zenity or Yad. 3678 propagatedBuildInputs = [ zenity ]; 3679 meta = { 3680 description = "Simple color selector/picker plugin"; 3681 license = lib.licenses.publicDomain; 3682 }; 3683 }; 3684 3685 vimacs = super.vimacs.overrideAttrs { 3686 buildPhase = '' 3687 substituteInPlace bin/vim \ 3688 --replace-fail '/usr/bin/vim' 'vim' \ 3689 --replace-fail '/usr/bin/gvim' 'gvim' 3690 # remove unnecessary duplicated bin wrapper script 3691 rm -r plugin/vimacs 3692 ''; 3693 meta = with lib; { 3694 description = "Vim-Improved eMACS: Emacs emulation plugin for Vim"; 3695 homepage = "http://algorithm.com.au/code/vimacs"; 3696 license = licenses.gpl2Plus; 3697 maintainers = with lib.maintainers; [ millerjason ]; 3698 }; 3699 }; 3700 3701 vimade = super.vimade.overrideAttrs { 3702 checkInputs = with self; [ 3703 # Optional providers 3704 hlchunk-nvim 3705 mini-nvim 3706 snacks-nvim 3707 ]; 3708 }; 3709 3710 vimsence = super.vimsence.overrideAttrs { 3711 meta = with lib; { 3712 description = "Discord rich presence for Vim"; 3713 homepage = "https://github.com/hugolgst/vimsence"; 3714 maintainers = with lib.maintainers; [ hugolgst ]; 3715 }; 3716 }; 3717 3718 vimproc-vim = super.vimproc-vim.overrideAttrs { 3719 buildInputs = [ which ]; 3720 3721 # TODO: revisit 3722 buildPhase = '' 3723 substituteInPlace autoload/vimproc.vim \ 3724 --replace-fail vimproc_mac.so vimproc_unix.so \ 3725 --replace-fail vimproc_linux64.so vimproc_unix.so \ 3726 --replace-fail vimproc_linux32.so vimproc_unix.so 3727 make -f make_unix.mak 3728 ''; 3729 }; 3730 3731 vimshell-vim = super.vimshell-vim.overrideAttrs { 3732 dependencies = [ self.vimproc-vim ]; 3733 }; 3734 3735 vim-addon-actions = super.vim-addon-actions.overrideAttrs { 3736 dependencies = with self; [ 3737 vim-addon-mw-utils 3738 tlib_vim 3739 ]; 3740 }; 3741 3742 vim-addon-async = super.vim-addon-async.overrideAttrs { 3743 dependencies = [ self.vim-addon-signs ]; 3744 }; 3745 3746 vim-addon-background-cmd = super.vim-addon-background-cmd.overrideAttrs { 3747 dependencies = [ self.vim-addon-mw-utils ]; 3748 }; 3749 3750 vim-addon-completion = super.vim-addon-completion.overrideAttrs { 3751 dependencies = [ self.tlib_vim ]; 3752 }; 3753 3754 vim-addon-goto-thing-at-cursor = super.vim-addon-goto-thing-at-cursor.overrideAttrs { 3755 dependencies = [ self.tlib_vim ]; 3756 }; 3757 3758 vim-addon-mru = super.vim-addon-mru.overrideAttrs { 3759 dependencies = with self; [ 3760 vim-addon-other 3761 vim-addon-mw-utils 3762 ]; 3763 }; 3764 3765 vim-addon-nix = super.vim-addon-nix.overrideAttrs { 3766 dependencies = with self; [ 3767 vim-addon-completion 3768 vim-addon-goto-thing-at-cursor 3769 vim-addon-errorformats 3770 vim-addon-actions 3771 vim-addon-mw-utils 3772 tlib_vim 3773 ]; 3774 }; 3775 3776 vim-addon-sql = super.vim-addon-sql.overrideAttrs { 3777 dependencies = with self; [ 3778 vim-addon-completion 3779 vim-addon-background-cmd 3780 tlib_vim 3781 ]; 3782 }; 3783 3784 vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs { 3785 dependencies = with self; [ 3786 vim-addon-mw-utils 3787 tlib_vim 3788 ]; 3789 }; 3790 3791 vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs { 3792 dependencies = with self; [ 3793 vim-addon-mw-utils 3794 tlib_vim 3795 ]; 3796 }; 3797 3798 vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs { 3799 dependencies = with self; [ 3800 webapi-vim 3801 vim-addon-mw-utils 3802 vim-addon-signs 3803 vim-addon-async 3804 ]; 3805 }; 3806 3807 vim-agda = super.vim-agda.overrideAttrs { 3808 preFixup = '' 3809 substituteInPlace "$out"/autoload/agda.vim \ 3810 --replace-fail "jobstart(['agda'" "jobstart(['${agda}/bin/agda'" 3811 ''; 3812 }; 3813 3814 vim-apm = super.vim-apm.overrideAttrs { 3815 nvimSkipModules = [ "run" ]; 3816 }; 3817 3818 vim-bazel = super.vim-bazel.overrideAttrs { 3819 dependencies = [ self.vim-maktaba ]; 3820 }; 3821 3822 vim-beancount = super.vim-beancount.overrideAttrs { 3823 passthru.python3Dependencies = ps: with ps; [ beancount ]; 3824 }; 3825 3826 vim-codefmt = super.vim-codefmt.overrideAttrs { 3827 dependencies = [ self.vim-maktaba ]; 3828 }; 3829 3830 # Due to case-sensitivity issues, the hash differs on Darwin systems, see: 3831 # https://github.com/NixOS/nixpkgs/issues/157609 3832 vim-colorschemes = super.vim-colorschemes.overrideAttrs (old: { 3833 src = old.src.overrideAttrs (srcOld: { 3834 postFetch = 3835 (srcOld.postFetch or "") 3836 + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' 3837 rm $out/colors/darkBlue.vim 3838 ''; 3839 }); 3840 }); 3841 3842 vim-dadbod-ui = super.vim-dadbod-ui.overrideAttrs { 3843 dependencies = [ self.vim-dadbod ]; 3844 3845 doInstallCheck = true; 3846 vimCommandCheck = "DBUI"; 3847 }; 3848 3849 vim-dasht = super.vim-dasht.overrideAttrs { 3850 preFixup = '' 3851 substituteInPlace $out/autoload/dasht.vim \ 3852 --replace-fail "['dasht']" "['${dasht}/bin/dasht']" 3853 ''; 3854 }; 3855 3856 vim-easytags = super.vim-easytags.overrideAttrs { 3857 dependencies = [ self.vim-misc ]; 3858 patches = [ 3859 (fetchpatch { 3860 # https://github.com/xolox/vim-easytags/pull/170 fix version detection for universal-ctags 3861 url = "https://github.com/xolox/vim-easytags/commit/46e4709500ba3b8e6cf3e90aeb95736b19e49be9.patch"; 3862 sha256 = "0x0xabb56xkgdqrg1mpvhbi3yw4d829n73lsnnyj5yrxjffy4ax4"; 3863 }) 3864 ]; 3865 }; 3866 3867 vim-flog = super.vim-flog.overrideAttrs { 3868 # Not intended to be required, used by vim plugin 3869 nvimSkipModules = "flog.graph_bin"; 3870 }; 3871 3872 vim-fzf-coauthorship = super.vim-fzf-coauthorship.overrideAttrs { 3873 dependencies = with self; [ fzf-vim ]; 3874 }; 3875 3876 # change the go_bin_path to point to a path in the nix store. See the code in 3877 # fatih/vim-go here 3878 # https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159 3879 vim-go = 3880 let 3881 binPath = lib.makeBinPath [ 3882 asmfmt 3883 delve 3884 errcheck 3885 go-motion 3886 go-tools # contains staticcheck, keyify 3887 gocode-gomod 3888 godef 3889 gogetdoc 3890 golint 3891 golangci-lint 3892 gomodifytags 3893 gopls 3894 gotags 3895 gotools # contains guru, gorename 3896 iferr 3897 impl 3898 reftools 3899 revive 3900 ]; 3901 in 3902 super.vim-go.overrideAttrs { 3903 postPatch = '' 3904 sed -i autoload/go/config.vim -Ee 's@"go_bin_path", ""@"go_bin_path", "${binPath}"@g' 3905 ''; 3906 }; 3907 3908 vim-gist = super.vim-gist.overrideAttrs { 3909 dependencies = [ self.webapi-vim ]; 3910 }; 3911 3912 vim-grammarous = super.vim-grammarous.overrideAttrs { 3913 # use `:GrammarousCheck` to initialize checking 3914 # In neovim, you also want to use set 3915 # let g:grammarous#show_first_error = 1 3916 # see https://github.com/rhysd/vim-grammarous/issues/39 3917 patches = [ 3918 (replaceVars ./patches/vim-grammarous/set_default_languagetool.patch { 3919 inherit languagetool; 3920 }) 3921 ]; 3922 }; 3923 3924 vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: { 3925 preFixup = 3926 let 3927 hexokinase = buildGoModule { 3928 name = "hexokinase"; 3929 src = old.src + "/hexokinase"; 3930 vendorHash = null; 3931 }; 3932 in 3933 '' 3934 ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase 3935 ''; 3936 3937 meta.platforms = lib.platforms.all; 3938 }); 3939 3940 vim-hier = super.vim-hier.overrideAttrs { 3941 buildInputs = [ vim ]; 3942 }; 3943 3944 vim-illuminate = super.vim-illuminate.overrideAttrs { 3945 # Optional treesitter integration 3946 checkInputs = [ self.nvim-treesitter ]; 3947 }; 3948 3949 vim-isort = super.vim-isort.overrideAttrs { 3950 # Code updated to find relative path at runtime 3951 # https://github.com/fisadev/vim-isort/pull/41 3952 dontCheckForBrokenSymlinks = true; 3953 postPatch = '' 3954 substituteInPlace ftplugin/python_vimisort.vim \ 3955 --replace-fail 'import vim' 'import vim; import sys; sys.path.append("${python3.pkgs.isort}/${python3.sitePackages}")' 3956 ''; 3957 }; 3958 3959 vim-matchup = super.vim-matchup.overrideAttrs { 3960 # Optional treesitter integration 3961 nvimSkipModules = "treesitter-matchup.third-party.query"; 3962 }; 3963 3964 vim-mediawiki-editor = super.vim-mediawiki-editor.overrideAttrs { 3965 passthru.python3Dependencies = [ python3.pkgs.mwclient ]; 3966 }; 3967 3968 vim-metamath = super.vim-metamath.overrideAttrs { 3969 preInstall = "cd vim"; 3970 }; 3971 3972 vim-pluto = super.vim-pluto.overrideAttrs { 3973 dependencies = [ self.denops-vim ]; 3974 }; 3975 3976 vim-sensible = super.vim-sensible.overrideAttrs { 3977 patches = [ ./patches/vim-sensible/fix-nix-store-path-regex.patch ]; 3978 }; 3979 3980 vim-snipmate = super.vim-snipmate.overrideAttrs { 3981 dependencies = with self; [ 3982 vim-addon-mw-utils 3983 tlib_vim 3984 ]; 3985 }; 3986 3987 vim-speeddating = super.vim-speeddating.overrideAttrs { 3988 dependencies = [ self.vim-repeat ]; 3989 }; 3990 3991 vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: { 3992 postPatch = old.postPatch or "" + '' 3993 substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace-fail \ 3994 'g:stylish_haskell_command = "stylish-haskell"' \ 3995 'g:stylish_haskell_command = "${stylish-haskell}/bin/stylish-haskell"' 3996 ''; 3997 }); 3998 3999 vim-surround = super.vim-surround.overrideAttrs { 4000 dependencies = [ self.vim-repeat ]; 4001 }; 4002 4003 vim-tabby = super.vim-tabby.overrideAttrs { 4004 }; 4005 4006 vim-textobj-entire = super.vim-textobj-entire.overrideAttrs { 4007 dependencies = [ self.vim-textobj-user ]; 4008 meta.maintainers = with lib.maintainers; [ workflow ]; 4009 }; 4010 4011 vim-tpipeline = super.vim-tpipeline.overrideAttrs { 4012 # Requires global variable 4013 nvimSkipModules = "tpipeline.main"; 4014 }; 4015 4016 vim-ultest = super.vim-ultest.overrideAttrs { 4017 # NOTE: vim-ultest is no longer maintained. 4018 # If using Neovim, you can switch to using neotest (https://github.com/nvim-neotest/neotest) instead. 4019 nvimSkipModules = [ "ultest" ]; 4020 }; 4021 4022 vim-unimpaired = super.vim-unimpaired.overrideAttrs { 4023 dependencies = [ self.vim-repeat ]; 4024 }; 4025 4026 vim-wakatime = super.vim-wakatime.overrideAttrs { 4027 buildInputs = [ python3 ]; 4028 patchPhase = '' 4029 substituteInPlace plugin/wakatime.vim \ 4030 --replace-fail 'autocmd BufEnter,VimEnter' \ 4031 'autocmd VimEnter' \ 4032 --replace-fail 'autocmd CursorHold,CursorHoldI' \ 4033 'autocmd CursorHold,CursorHoldI,BufEnter' 4034 ''; 4035 }; 4036 4037 vim-xdebug = super.vim-xdebug.overrideAttrs { 4038 postInstall = null; 4039 }; 4040 4041 vim-xkbswitch = super.vim-xkbswitch.overrideAttrs { 4042 buildInputs = [ xkb-switch ]; 4043 }; 4044 4045 vim-yapf = super.vim-yapf.overrideAttrs { 4046 buildPhase = '' 4047 substituteInPlace ftplugin/python_yapf.vim \ 4048 --replace-fail '"yapf"' '"${python3.pkgs.yapf}/bin/yapf"' 4049 ''; 4050 }; 4051 4052 vim-zettel = super.vim-zettel.overrideAttrs { 4053 dependencies = with self; [ 4054 vimwiki 4055 fzf-vim 4056 ]; 4057 }; 4058 4059 virt-column-nvim = super.virt-column-nvim.overrideAttrs { 4060 # Meta file 4061 nvimSkipModules = "virt-column.config.types"; 4062 }; 4063 4064 vs-tasks-nvim = super.vs-tasks-nvim.overrideAttrs { 4065 dependencies = with self; [ 4066 plenary-nvim 4067 telescope-nvim 4068 ]; 4069 }; 4070 4071 which-key-nvim = super.which-key-nvim.overrideAttrs { 4072 nvimSkipModules = [ "which-key.docs" ]; 4073 }; 4074 4075 whichpy-nvim = super.whichpy-nvim.overrideAttrs { 4076 checkInputs = [ 4077 # Optional telescope integration 4078 self.telescope-nvim 4079 ]; 4080 }; 4081 4082 wiki-vim = super.wiki-vim.overrideAttrs { 4083 checkInputs = [ 4084 # Optional telescope integration 4085 self.telescope-nvim 4086 ]; 4087 }; 4088 4089 windows-nvim = super.windows-nvim.overrideAttrs { 4090 dependencies = with self; [ 4091 middleclass 4092 animation-nvim 4093 ]; 4094 nvimSkipModules = [ 4095 # Animation doesn't work headless 4096 "windows.autowidth" 4097 "windows.commands" 4098 ]; 4099 }; 4100 4101 wtf-nvim = super.wtf-nvim.overrideAttrs { 4102 dependencies = with self; [ 4103 nui-nvim 4104 plenary-nvim 4105 ]; 4106 }; 4107 4108 xmake-nvim = super.xmake-nvim.overrideAttrs { 4109 nvimSkipModule = [ 4110 # attempt to index upvalue 'options' (a nil value) 4111 "xmake.action" 4112 "xmake.command" 4113 "xmake.runner_wrapper" 4114 ]; 4115 }; 4116 4117 yaml-companion-nvim = super.yaml-companion-nvim.overrideAttrs { 4118 dependencies = [ 4119 self.nvim-lspconfig 4120 self.plenary-nvim 4121 ]; 4122 }; 4123 4124 yaml-schema-detect-nvim = super.yaml-schema-detect-nvim.overrideAttrs { 4125 dependencies = with self; [ 4126 plenary-nvim 4127 nvim-lspconfig 4128 ]; 4129 }; 4130 4131 yanky-nvim = super.yanky-nvim.overrideAttrs { 4132 checkInputs = with self; [ 4133 # Optional telescope integration 4134 telescope-nvim 4135 ]; 4136 }; 4137 4138 yazi-nvim = super.yazi-nvim.overrideAttrs { 4139 dependencies = [ self.plenary-nvim ]; 4140 nvimSkipModules = [ 4141 # Used for reproducing issues 4142 "repro" 4143 ]; 4144 }; 4145 4146 YouCompleteMe = super.YouCompleteMe.overrideAttrs { 4147 buildPhase = '' 4148 substituteInPlace plugin/youcompleteme.vim \ 4149 --replace-fail "'ycm_path_to_python_interpreter', '''" \ 4150 "'ycm_path_to_python_interpreter', '${python3}/bin/python3'" 4151 4152 rm -r third_party/ycmd 4153 ln -s ${ycmd}/lib/ycmd third_party 4154 ''; 4155 4156 meta = with lib; { 4157 description = "Code-completion engine for Vim"; 4158 homepage = "https://github.com/Valloric/YouCompleteMe"; 4159 license = licenses.gpl3; 4160 maintainers = with maintainers; [ 4161 marcweber 4162 jagajaga 4163 mel 4164 ]; 4165 platforms = platforms.unix; 4166 }; 4167 }; 4168 4169 zenbones-nvim = super.zenbones-nvim.overrideAttrs { 4170 nvimSkipModules = [ 4171 # Requires global variable set 4172 "randombones" 4173 "randombones.palette" 4174 # Optional shipwright 4175 "zenbones.shipwright.runners.alacritty" 4176 "zenbones.shipwright.runners.foot" 4177 "zenbones.shipwright.runners.iterm" 4178 "zenbones.shipwright.runners.kitty" 4179 "zenbones.shipwright.runners.lightline" 4180 "zenbones.shipwright.runners.lualine" 4181 "zenbones.shipwright.runners.tmux" 4182 "zenbones.shipwright.runners.vim" 4183 "zenbones.shipwright.runners.wezterm" 4184 "zenbones.shipwright.runners.windows_terminal" 4185 # Optional lush-nvim integration 4186 "duckbones" 4187 "duckbones.palette" 4188 "forestbones" 4189 "forestbones.palette" 4190 "kanagawabones" 4191 "kanagawabones.palette" 4192 "neobones" 4193 "neobones.palette" 4194 "nordbones" 4195 "nordbones.palette" 4196 "rosebones" 4197 "rosebones.palette" 4198 "seoulbones" 4199 "seoulbones.palette" 4200 "tokyobones" 4201 "tokyobones.palette" 4202 "vimbones" 4203 "vimbones.palette" 4204 "zenbones" 4205 "zenbones.palette" 4206 "zenbones.specs.dark" 4207 "zenbones.specs.light" 4208 "zenburned" 4209 "zenburned.palette" 4210 "zenwritten" 4211 "zenwritten.palette" 4212 ]; 4213 }; 4214 4215 zk-nvim = super.zk-nvim.overrideAttrs { 4216 checkInputs = with self; [ 4217 # Optional pickers 4218 fzf-lua 4219 mini-nvim 4220 snacks-nvim 4221 telescope-nvim 4222 ]; 4223 }; 4224 4225 zotcite = super.zotcite.overrideAttrs { 4226 dependencies = with self; [ 4227 plenary-nvim 4228 telescope-nvim 4229 ]; 4230 }; 4231 4232 zoxide-vim = super.zoxide-vim.overrideAttrs { 4233 buildInputs = [ zoxide ]; 4234 4235 postPatch = '' 4236 substituteInPlace autoload/zoxide.vim \ 4237 --replace-fail "'zoxide_executable', 'zoxide'" "'zoxide_executable', '${zoxide}/bin/zoxide'" 4238 ''; 4239 }; 4240 4241 nvim-k8s-crd = super.nvim-k8s-crd.overrideAttrs { 4242 dependencies = with self; [ 4243 plenary-nvim 4244 nvim-lspconfig 4245 ]; 4246 }; 4247}