diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index c7cd3266d9c7..137d364e5472 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -4,9 +4,17 @@ self: super: let inherit (neovimUtils) grammarToPlugin; - generatedGrammars = callPackage ./generated.nix { + + initialGeneratedGrammars = callPackage ./generated.nix { inherit (tree-sitter) buildGrammar; }; + grammarOverrides = final: prev: { + nix = prev.nix.overrideAttrs { + # workaround for https://github.com/NixOS/nixpkgs/issues/332580 + prePatch = "rm queries/highlights.scm"; + }; + }; + generatedGrammars = lib.fix (lib.extends grammarOverrides (_: initialGeneratedGrammars)); generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars; @@ -36,22 +44,8 @@ let # pkgs.vimPlugins.nvim-treesitter.withAllGrammars withPlugins = f: self.nvim-treesitter.overrideAttrs { - passthru.dependencies = - let - grammars = map grammarToPlugin - (f (tree-sitter.builtGrammars // builtGrammars)); - copyGrammar = grammar: - let name = lib.last (lib.splitString "-" grammar.name); in - "ln -sf ${grammar}/parser/${name}.so $out/parser/${name}.so"; - in - [ - (runCommand "vimplugin-treesitter-grammars" - { meta.platforms = lib.platforms.all; } - '' - mkdir -p $out/parser - ${lib.concatMapStringsSep "\n" copyGrammar grammars} - '') - ]; + passthru.dependencies = map grammarToPlugin + (f (tree-sitter.builtGrammars // builtGrammars)); }; withAllGrammars = withPlugins (_: allGrammars);