A Neovim plugin manager inspired by Cargo that automates dependency and build management using luarocks.
rocks.nvim is a modern plugin manager for Neovim that integrates directly with LuaRocks to automate dependency and build script management. It shifts the responsibility from users to plugin authors, simplifying installation and ensuring version consistency across environments. It uses a Cargo-like rocks.toml file for configuration and supports semantic versioning.
Neovim users and plugin developers seeking a dependency-aware plugin manager that automates installation and version management. It is particularly suited for those who want to avoid manual dependency handling and ensure reproducible environments.
Developers choose rocks.nvim for its direct integration with LuaRocks, which automates dependency resolution and build steps, reducing user burden. Its unique selling point is shifting responsibility to plugin authors for specifying dependencies, ensuring consistency and simplifying updates across platforms.
🌒 Neovim plugin management inspired by Cargo, powered by luarocks
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates directly with LuaRocks to automatically handle plugin dependencies and build scripts, shifting responsibility from users to plugin authors as described in the philosophy.
Supports semantic versioning for plugins, allowing precise version control and individual pinning or rollback, exemplified with tree-sitter parsers.
Uses a Cargo-like rocks.toml file to declare and manage plugins, ensuring reproducibility and easy version control integration, as highlighted in the features.
Offers a modular Lua API with optional extensions for git, configuration, lazy-loading, and tree-sitter, providing flexibility for advanced use cases.
Pulls pre-compiled binaries from rocks-binaries to avoid manual compilation, speeding up installation on supported platforms.
The README includes a clear warning about an upcoming v3.0.0 rewrite, which may introduce breaking changes and require migration, making it less stable for new adopters.
Requires git, wget/curl, make, unzip, and for esoteric architectures, a C++17 parser and Rust toolchain, adding setup complexity and potential barriers.
Core installation relies on plugins being published to LuaRocks; for others, the rocks-git.nvim module is needed, which can fragment the management process and reduce seamlessness.
Follows a minimal core philosophy, so advanced features like lazy-loading or configuration management require separate modules, leading to a less integrated user experience.