Home

Awesome

Neovim User Rock Repository (NURR)

The NURR hosts and automatically packages Neovim Luarocks releases for many plugins and tree-sitter parsers whose developers do not want to maintain a Luarocks CI workflow.

This repository contains a CI which runs periodically, enumerating a set of curated Neovim plugins and publishing them to luarocks.org.

<!-- FIXME: --> <!-- the `neovim` manifest on `luarocks.org` - this keeps the root manifest clean --> <!-- and allows the original authors to publish their own plugins if they so choose. -->

How it works

Plugins are published using the luarocks-tag-release action.

Plugins

The plugin metadata are stored in a plugins.json file, which is currently updated manually. A chunk workflow reads the plugins.json file and chunks the plugins into sets of 256 (the max number of outputs per job). Each chunk is dispatched to an update workflow, which uses the chunk it receives as the input for a matrix build.

[!NOTE]

Neovim plugins are published every 4 hours.

[!IMPORTANT]

When adding a plugin that claims it depends on nvim-treesitter, check if it actually does. Many plugins only depend on the parsers. If it does, we recommend:

Schema

Tree-sitter parsers [WIP]

[!NOTE]

Tree-sitter parsers are published every 7 hours.

[!IMPORTANT]

Any tree-sitter parser rockspecs that cannot be built and installed by the workflow

are not uploaded to luarocks.org.