commit a7ade95e133edef02912f4b15429cf365fc53231
parent 527a7978197364cb962fb459822520501088047b
Author: mtmn <miro@haravara.org>
Date: Sun, 26 Apr 2026 16:04:45 +0200
nvim: install treesitter queries and parsers
Diffstat:
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/hosts/void/default.nix b/hosts/void/default.nix
@@ -3,7 +3,7 @@
lib,
...
}: {
- imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ./overlays];
+ imports = [../../modules/mixins/dotfiles ../../modules/mixins/core ../../modules/mixins/treesitter ./overlays];
home.packages = lib.concatLists (lib.attrValues (with pkgs; {
web = [
aerc
diff --git a/modules/mixins/dotfiles/config/nvim/fnl/init.fnl b/modules/mixins/dotfiles/config/nvim/fnl/init.fnl
@@ -75,6 +75,7 @@
(set vim.opt.undofile true))
(set vim.opt.clipboard :unnamedplus)
(vim.opt.rtp:append (.. (vim.fn.stdpath :data) :/site/tree-sitter))
+ (vim.opt.rtp:append (.. (vim.fn.stdpath :data) :/site/tree-sitter-custom))
(set package.path (.. (fs.normalize "~") "/.config/nvim/lua/?.lua;"
package.path))
(setup-plugins)
diff --git a/modules/mixins/treesitter/default.nix b/modules/mixins/treesitter/default.nix
@@ -0,0 +1,17 @@
+{
+ pkgs,
+ lib,
+ ...
+}: {
+ xdg.dataFile."nvim/site/tree-sitter".source = pkgs.runCommandLocal "treesitter-all" {} ''
+ cp -rs ${pkgs.vimPlugins.nvim-treesitter}/runtime/. $out/
+ chmod -R u+w $out
+ mkdir -p $out/parser
+ ${lib.concatStringsSep "\n" (lib.mapAttrsToList (lang: g: "ln -s ${g}/parser $out/parser/${lang}.so")
+ (lib.mapAttrs' (lang: g:
+ lib.nameValuePair
+ (lib.replaceStrings ["-"] ["_"] (lib.removePrefix "tree-sitter-" lang))
+ g)
+ pkgs.vimPlugins.nvim-treesitter.builtGrammars))}
+ '';
+}