nvp Commands Reference¶
Complete reference for all nvp commands.
Global Flags¶
| Flag | Description |
|---|---|
-v, --verbose |
Enable debug logging |
--log-file <path> |
Write logs to file (JSON format) |
--config <path> |
Path to config file |
--no-color |
Disable color output |
-h, --help |
Show help for command |
Initialization¶
nvp init¶
Initialize nvp store.
Creates ~/.nvp/ directory structure.
Plugin Management¶
nvp get¶
List all plugins in the local store, or get a specific plugin definition.
With no arguments, lists all plugins. With a name, shows that plugin's full definition.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json, table (default: yaml) |
-c, --category <cat> |
Filter by category (list mode only) |
--enabled |
Show only enabled plugins |
--disabled |
Show only disabled plugins |
--show-deps |
Show dependency tree for a plugin (single-get mode) |
Examples:
nvp get # List all plugins
nvp get -c lsp # List plugins filtered by category
nvp get telescope # Get specific plugin as YAML
nvp get telescope -o json # Get specific plugin as JSON
nvp get telescope --show-deps
nvp enable¶
Enable one or more installed plugins.
Example:
nvp disable¶
Disable one or more installed plugins (without deleting them).
Example:
nvp delete¶
Delete a plugin from the local store.
Flags:
| Flag | Description |
|---|---|
--force |
Skip confirmation prompt |
Example:
Applying Resources¶
nvp apply¶
Apply a plugin or theme from a source.
Source types:
| Type | Example |
|---|---|
| File | plugin.yaml |
| URL | https://example.com/plugin.yaml |
| GitHub shorthand | github:user/repo/plugin.yaml |
| Stdin | - |
Examples:
# Install from local file
nvp apply -f my-plugin.yaml
# Install from URL
nvp apply -f https://example.com/plugin.yaml
# Install from GitHub
nvp apply -f github:rmkohlman/nvim-yaml-plugins/plugins/telescope.yaml
# Install from stdin
cat plugin.yaml | nvp apply -f -
Plugin Library¶
nvp library get¶
List all plugins available in the remote library.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: table, yaml, json (default: table) |
-c, --category <cat> |
Filter by category |
-t, --tag <tag> |
Filter by tag |
nvp library describe¶
Show details of a library plugin.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json (default: yaml) |
nvp library import¶
Import plugins from the library to your local store.
Flags:
| Flag | Description |
|---|---|
--all |
Import all plugins from the library |
Example:
nvp library import telescope
nvp library import telescope treesitter lspconfig
nvp library import --all
nvp library categories¶
List available plugin categories in the library.
nvp library tags¶
List available plugin tags in the library.
Source Management¶
nvp source get¶
List available external plugin sources.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: table, yaml, json (default: table) |
nvp source describe¶
Show details of a source.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json (default: yaml) |
nvp source sync¶
Sync plugins from an external source.
Flags:
| Flag | Description |
|---|---|
--dry-run |
Preview changes without applying |
-l, --selector <key=value> |
Label selector to filter plugins (repeatable) |
--tag <version> |
Specific version/tag to sync from |
--force |
Overwrite existing plugins |
-o, --output <format> |
Output format: table, yaml, json (default: table) |
Examples:
nvp source sync lazyvim
nvp source sync lazyvim --dry-run
nvp source sync lazyvim -l category=lsp
nvp source sync lazyvim --tag v15.0.0
nvp source sync lazyvim --force
Theme Management¶
nvp theme get¶
List all installed themes, or get a specific theme definition.
With no arguments, lists all installed themes (active theme marked with *).
With a name, shows that theme's full definition.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json, table (default: yaml) |
Examples:
nvp theme apply¶
Apply a theme definition from a YAML file or URL.
Flags:
| Flag | Description |
|---|---|
-f, --filename <source> |
Theme YAML file(s) or URL(s) to apply (repeatable) |
Source types:
| Type | Example |
|---|---|
| File | my-theme.yaml |
| URL | https://example.com/theme.yaml |
| GitHub shorthand | github:user/repo/themes/custom.yaml |
| Stdin | - |
Examples:
nvp theme use¶
Set the active theme.
Example:
nvp theme create¶
Create a custom CoolNight theme variant using the parametric generator.
The --from value can be:
- A hue angle in degrees ("210")
- A hex color ("#8B00FF")
- A named preset ("synthwave", "ocean", "forest")
Flags:
| Flag | Description |
|---|---|
--from <value> |
Base color: hue (0-360), hex (#rrggbb), or preset name (required) |
--name <name> |
Name for the new theme (required unless --dry-run) |
--use |
Set new theme as active after creation |
--dry-run |
Preview the generated theme without saving |
-o, --output <format> |
Output format for --dry-run: yaml, json, table (default: yaml) |
Examples:
nvp theme create --from "210" --name my-blue-theme
nvp theme create --from "#8B00FF" --name my-violet-theme
nvp theme create --from "synthwave" --name my-synth --use
nvp theme preview¶
Preview a theme in the terminal.
Example:
nvp theme delete¶
Delete a theme.
Flags:
| Flag | Description |
|---|---|
--force |
Skip confirmation prompt |
nvp theme generate¶
Generate Lua files for the active theme only.
Flags:
| Flag | Description |
|---|---|
--output-dir <dir> |
Output directory (default: ~/.config/nvim/lua) |
--dry-run |
Show what would be generated without writing files |
Generated files:
lua/theme/palette.lua— color palette modulelua/theme/init.lua— theme setup and helperslua/plugins/nvp/colorscheme.lua— lazy.nvim plugin spec
Theme Library¶
nvp theme library get¶
List themes available in the remote library.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: table, yaml, json (default: table) |
-c, --category <cat> |
Filter by category (e.g. dark, light) |
nvp theme library describe¶
Show details of a library theme.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json (default: yaml) |
nvp theme library import¶
Import a theme from the library to your local store.
Flags:
| Flag | Description |
|---|---|
--use |
Set theme as active after importing |
Example:
nvp theme library categories¶
List available theme categories in the library.
Configuration¶
nvp config init¶
Initialize nvp configuration file (core.yaml).
Flags:
| Flag | Description |
|---|---|
--force |
Overwrite existing core.yaml |
nvp config describe¶
Show current core configuration.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json (default: yaml) |
nvp config generate¶
Generate a complete Neovim configuration from core.yaml and installed plugins.
Flags:
| Flag | Description |
|---|---|
--output-dir <dir> |
Output directory (default: ~/.config/nvim) |
--dry-run |
Show what would be generated without writing files |
Examples:
nvp config generate
nvp config generate --output-dir /path/to/nvim/config
nvp config generate --dry-run
nvp config edit¶
Open configuration file in editor.
Generation¶
nvp generate¶
Generate Lua files from all enabled plugins (and active theme if set).
Flags:
| Flag | Description |
|---|---|
--output-dir <dir> |
Output directory (default: ~/.config/nvim/lua/plugins/nvp) |
--dry-run |
Show what would be generated without writing files |
Examples:
nvp generate-lua¶
Generate Lua configuration for a single plugin and print to stdout.
Shell Completion¶
nvp completion¶
Generate shell completion scripts.
Supported shells: bash, zsh, fish, powershell
Examples:
# Bash
nvp completion bash > /etc/bash_completion.d/nvp
# Zsh
nvp completion zsh > "${fpath[1]}/_nvp"
# Fish
nvp completion fish > ~/.config/fish/completions/nvp.fish
Version¶
nvp version¶
Show version information.
Flags:
| Flag | Description |
|---|---|
--short |
Print only the version number |
Health Checks¶
nvp health¶
Run health checks for installed Neovim plugins.
Without arguments, checks all enabled plugins. With a name, checks only that plugin.
Health checks verify:
- Lua modules are loadable (require() succeeds)
- Neovim commands exist
- Treesitter parsers are installed
- LSP servers are configured
By default, runs static checks only (no Neovim required). Use --live to run checks inside Neovim.
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: table, json (default: table) |
--live |
Run checks inside Neovim (requires nvim on PATH) |
--generate-script |
Output the Lua health check script (for debugging) |
Examples:
nvp health # Static check all plugins
nvp health telescope # Check specific plugin
nvp health --live # Run checks inside Neovim
nvp health -o json # Output as JSON
Lock File¶
nvp lock¶
Generate or verify a lazy-lock.json lock file for reproducible plugin versions.
Without flags, generates or updates the lock file from current plugin configuration.
With --verify, checks if the current config matches the existing lock file.
The lock file pins specific git commits for each plugin, ensuring reproducible builds across environments.
Flags:
| Flag | Description |
|---|---|
--verify |
Check if current config matches the existing lock file |
--output <path> |
Lock file path (default: ~/.nvp/lazy-lock.json) |
Examples:
nvp lock # Generate/update lazy-lock.json
nvp lock --verify # Check config matches lock file
nvp lock --output /path/to/lazy-lock.json
Package Management¶
nvp package get¶
List all packages or get details of a specific package.
Alias: nvp pkg get
With no arguments, lists all available packages. With a name, shows the full package definition with all resolved plugins (including inherited ones).
Flags:
| Flag | Description |
|---|---|
-o, --output <format> |
Output format: yaml, json, table (default: yaml) |
-c, --category <cat> |
Filter by category (list mode only) |
--library |
Show only library packages |
--user |
Show only user packages |
-w, --wide |
Show extended output (includes EXTENDS column) |
Examples:
nvp package get # List all packages
nvp package get --category language # Filter by category
nvp package get core # Show package details
nvp package get go-dev -o yaml # Show details as YAML
nvp package get go-dev -w # Show with extended columns
nvp package install¶
Install a package by adding all its plugins to your local store.
Alias: nvp pkg install
Resolves package inheritance — installing go-dev will also install all plugins from its parent package (e.g. core).
Flags:
| Flag | Description |
|---|---|
--dry-run |
Show what would be installed without installing |
Examples:
Common Workflows¶
Install Plugins from Library¶
# Browse the library
nvp library get
nvp library get --category lsp
# Import individual plugins
nvp library import telescope
nvp library import treesitter
# Generate Lua files
nvp generate
Install from a YAML File¶
# Apply a plugin definition from a file or URL
nvp apply -f my-plugin.yaml
nvp apply -f https://example.com/my-plugin.yaml
nvp apply -f github:rmkohlman/nvim-yaml-plugins/plugins/telescope.yaml
# Generate Lua files
nvp generate
Create a Custom Theme¶
# Create by hue
nvp theme create --from "280" --name my-synthwave --use
# Create from a preset
nvp theme create --from "synthwave" --name my-synth
# Generate Lua files
nvp generate