a nixpkgs overlay for the nvim-treesitter main branch rewrite
Find a file
iofq edeeb46452
add nvim-treesitter-textobjects package
add nvim-treesitter-textobjects package
2025-10-04 02:30:46 +00:00
.github/workflows init 2025-10-03 01:45:55 -05:00
generate-parsers init 2025-10-03 01:45:55 -05:00
.envrc init 2025-10-03 01:45:55 -05:00
.gitignore init 2025-10-03 01:45:55 -05:00
flake.lock add nvim-treesitter-textobjects package 2025-10-03 21:09:56 -05:00
flake.nix add nvim-treesitter-textobjects package 2025-10-03 21:09:56 -05:00
generated.nix init 2025-10-03 01:45:55 -05:00
LICENSE init 2025-10-03 01:45:55 -05:00
overlay.nix add nvim-treesitter-textobjects package 2025-10-03 21:09:56 -05:00
README.md init 2025-10-03 01:45:55 -05:00



nvim-treesitter-main

A Nixpkgs overlay for the nvim-treesitter plugin main branch rewrite

License Stars

Overview

The nvim-treesitter main branch is a full, incompatible rewrite of the project, and the existing master branch is all but abandoned.

The nixpkgs nvim-treesitter plugin is not well equipped to handle the migration today, nor would it be a good idea to switch everyone over given the still-nascent ecosystem around the rewrite. Regardless, you're here because you're both a Nix and Neovim user, and you like to live on the bleeding edge.

nvim-treesitter-main is a flake that builds the new main branch nvim-treesitter, along with all of the parser versions from the parsers.lua file, as recommended by the project.

Usage

In your flake.nix:

    inputs = {
        nvim-treesitter-main.url = "github:iofq/nvim-treesitter-main";
    };
    # ... and import the overlay
    pkgs = import nixpkgs {
      inherit system;
      overlays = [
        inputs.nvim-treesitter-main.overlays.default
      ];
    };

Updating

To update the list of parsers in generated.nix:

nix flake update
nix develop --command "generate-parsers"

This runs a lua script similar to the old update.py, but uses the nvim-treesitter as a source for version info instead of the NURR json file.