Bundles
Organized plugin managements
In rocks-config.nvim, bundles represent a modular and organized
way to group related plugins and configurations, allowing users to enable or
disable entire sets of functionality with ease.
This approach simplifies plugin management by reducing the complexity
of handling individual plugins, making it easier to keep a clean and efficient
Neovim environment, providing everything needed for a
streamlined documentation workflow.
Bundles use a declarative format in rocks.toml, ensuring configurations stay
consistent and reproducible across machines and projects. Developers,
writers, and power users benefit from a flexible, scalable approach to Neovim
setup management. This reduces manual plugin overhead and supports focus on core
tasks.
LSP Bundle
# Plugins for language server support
# and auto completion
[bundles.lsp]
items = [
"mason.nvim",
"mason-lspconfig.nvim",
"nvim-lspconfig",
"blink.cmp",
"mason-tool-installer.nvim",
"luasnip",
]
The bundles.lsp section unifies LSP support tools, enabling advanced code
analysis, autocompletion, and language-specific features within Neovim.
It streamlines language server, completion engine, and tool setup,
delivering intelligent code navigation, real-time diagnostics, and context-aware
autocompletion without manual intervention.
The bundle accommodates many programming languages and file types, improving
efficiency for coding, scripting, and structured documentation, such as Markdown
with embedded code.
Rocksmarker centralizes LSP plugins, guaranteeing automatic loading and proper
configuration. This approach reduces setup time and eliminates conflicts.
Diagnostics bundle
# Plugin for diagnostics and related code display
[bundles.diagnostics]
items = ["conform.nvim", "nvim-lint", "trouble.nvim"]
The bundles.diagnostics section consolidates tools for code quality, linting,
and diagnostic feedback, ensuring clean, consistent, and error-free
projects.
Instant feedback on syntax errors, style inconsistencies, and potential
problems maintains high standards in both code and documentation.
Automation reduces manual effort, allowing users to concentrate on development
and content creation rather than corrections.
This bundle enforces standards and best practices, making it valuable for
developers, technical writers, and structured content workflows.
A dedicated interface simplifies diagnostic navigation and resolution, enabling
real-time issue detection and efficient fixes. The result is a
proactive editing environment that minimizes disruptions and maximizes
productivity.
UI bundle
# Plugins for the implementation of the graphical
# user interface
[bundles.ui]
items = [
"min-theme.nvim",
"snacks.nvim",
"lualine.nvim",
"bufferline.nvim",
"persisted.nvim",
"gitsigns.nvim",
"rainbow-delimiters.nvim",
"which-key.nvim",
"nvim-highlight-colors",
]
The bundles.ui section improves Neovim's visual clarity and usability
by integrating plugins that optimize the editor's appearance, navigation, and
interaction.
A minimalist colorscheme minimizes distractions, while a customizable statusline and intuitive buffer management boost workflow efficiency. Git tools, visual code structure indicators, and keybinding guides simplify user interaction, resulting in a unified and visually consistent workspace.
Additional utilities give real-time feedback and session management, maintaining continuity between editing sessions. This bundle combines aesthetic refinement with functional performance to reduce friction and enhance the editing experience for users who rank both design and productivity.
Markdown bundle
# Plugins for specific functionality of Markdown code
[bundles.markdown]
items = [
"markdown-plus.nvim",
"render-markdown.nvim",
]
The bundles.markdown section provides a complete toolset for writing,
editing, and previewing Markdown documentation in Neovim. Dedicated editing
features and shortcuts accelerate Markdown composition, and live in-editor
previews deliver immediate visual feedback.
These tools optimize content production and formatting, enabling professional documentation workflows without leaving Neovim. Technical writers, developers, and regular Markdown users gain a streamlined, efficient environment that emphasizes content creation while maintaining document clarity and structure.
Plugin management architecture
Rocksmarker organizes plugins by using a modular system. The rocks.toml
file serves as the central manifest, where each bundle declares its
dependencies and core parameters.
Dedicated Lua files in the lua/plugins/ directory contain all plugin-specific
configurations, keybindings, and advanced settings.
Key advantages
- Logical Organization: Each bundle definition targets dependencies only.
- Customization Control: Lua files enable detailed adjustments without altering the manifest.
- Efficient Maintenance: Separation of concerns simplifies updates and debugging.
This architecture ensures rapid initial setup and supports precise, long-term customization.
Bundle configuration files
LSP
lua/plugins/lsp.lua
Manages LSP server settings, autocompletion behavior, and keybindings.
Diagnostics
lua/plugins/diagnostics.lua
Defines linting rules, formatting options, and diagnostic display settings.
UI
lua/plugins/ui.lua
Controls themes, status line layouts, and buffer management.
Markdown
lua/plugins/markdown.lua
Configures Markdown rendering, table editing, and related features.
Each bundle uses a dedicated Lua file for its settings, mappings, and customizations. This design ensures an organized, scalable, and maintainable configuration system.
Customization and extensibility
Rocksmarker's bundle system provides a structured yet flexible foundation
for Neovim customization. Users change plugin behavior directly in each
bundle's Lua configuration file, keeping core settings intact.
The modular design simplifies maintenance and encourages experimentation with
LSP server priorities, diagnostic severity levels, or UI elements.
Advanced users can extend existing bundles or create new ones by following a consistent pattern:
- Declare dependencies in
rocks.toml. - Implement settings in a corresponding Lua file.
This approach centralizes related functionality, reduces configuration overhead, and accelerates the move from setup to productive editing.