nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

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:
Mhosts/void/default.nix | 2+-
Mmodules/mixins/dotfiles/config/nvim/fnl/init.fnl | 1+
Amodules/mixins/treesitter/default.nix | 17+++++++++++++++++
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))} + ''; +}