-
Notifications
You must be signed in to change notification settings - Fork 18
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 😄