{ lib , fetchFromGitHub , ... } @ inputs: let inherit (builtins) readFile; extraGrammars = { tree-sitter-d2 = { language = "d2"; src = fetchFromGitHub { owner = "pleshevskiy"; repo = "tree-sitter-d2"; rev = "a1a2091ebf4521d965e13c918a601b5acb4d1a72"; sha256 = "sha256-1ZcWhbtmdPDkBoFfswfhlwbFLb2Uwq7lbSTs5wqiFzY="; }; version = "0.0.0"; }; }; tree-sitter = (inputs.tree-sitter.override { inherit extraGrammars; }); grammars = tree-sitter.withPlugins (g: tree-sitter.allGrammars); nvim-treesitter = inputs.nvim-treesitter.overrideAttrs (oldAttrs: { postPatch = '' rm -r parser ln -s ${grammars} parser ln -s ${../.}/queries queries/d2 ''; }); in { luaConfig = readFile ./treesitter.lua; plugins = [ nvim-treesitter ]; }