-
Notifications
You must be signed in to change notification settings - Fork 15
Home
rocks.nvim is a Neovim plugin manager that handles the installation of dependencies for you!
Instead of manually declaring plugins and their dependencies/build instructions,
all you need to do is run the command :Rocks install foo.nvim
.
- See the Why rocks.nvim? section in the README.
rocks.nvim relies on the Lua package manager luarocks. So instead of listing them in the README or in a spec file in the repository, plugin dependencies and build instructions must be specified in a Rockspec on luarocks.org.
The benefit compared to the manual approach is it has to be done only once instead of <number of users>
and can vary depending on versions and platforms.
For a comparison with decentralised automated approaches, like packspec, see this article.
Since version 11, lazy.nvim has some basic luarocks support (which is awesome ๐๐). However, it still prefers its own specification, treating luarocks packages as separate entities.
rocks.nvim goes all in. Luarocks packages are first-class citizens.
Because we follow the UNIX philosophy, some popular features of Neovim plugin managers are not baked in, but available via extensions:
- Safe plugin configuration is achieved https://github.com/nvim-neorocks/rocks-config.nvim
- A fallback for plugins not on luarocks (yet) is https://github.com/nvim-neorocks/rocks-git.nvim that allows you to fetch the plugin from git directly
- Lazy-loading can be set up via https://github.com/nvim-neorocks/rocks-lazy.nvim
... and much more. See the rocks-nvim GitHub topic.
Keep in mind: Since we are pioneering a new approach to plugin management, the road may still be rocky at times. Bear with us ๐