Maybe you have tried to configure Neovim multiple times over the past few years. Neovim has undergone many changes, and every time, you had to follow new defaults to reach the minimum configuration and start writing your configuration for Neovim. The goal of the nvpak project is to provide these defaults.
Now you can configure only what you need by forking nvpak without any add-ons. Please note that nvpak is not a Neovim configuration and not in competition with other configurations such as NvChad or LazyVim. If you need a complete Neovim setup without any configuration, then this GitHub repository is not for you.
"nv" stands for Neovim and "Pak" is derived from the Persian word "ٞاڊ" meaning "clean," which represents brightness and simplicity, contrary to complexity and disorder.
To ensure the installation scripts and NvPak work correctly, please have the following:
git
curl
unzip
neovim v0.8.0
or later (the script aims for the latest stable version)bash
or dash
for Unix-like systems (Linux, macOS, Termux, Git Bash on Windows).PowerShell v5.1
or later for the native Windows installation script.ripgrep
(for Telescope live grep)fd
(alternative for Telescope)xclip
or xsel
(Xorg), wl-clipboard
(Wayland)pbcopy
/pbpaste
(built-in)scoop install win32yank
)termux-api
(for termux-clipboard-get
/set
)pynvim
(if you are a Python developer)Scoop.sh
package manager. The script can help you install it.NvPak provides automated installation scripts for various operating systems.
Before running the installation scripts, ensure you have:
curl -LO https://raw.githubusercontent.com/Pakrohk-DotFiles/NvPak/main/install.sh
(If curl
is not available, you can download install.sh
manually from the repository.)chmod +x install.sh
./install.sh
The script will attempt to detect your OS and package manager to install all necessary dependencies, clone/update NvPak to ~/.config/nvim
(or $XDG_CONFIG_HOME/nvim
), and guide you through the final steps.Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Pakrohk-DotFiles/NvPak/main/install.ps1" -OutFile "install.ps1"
.\install.ps1
The script will use Scoop to install dependencies (it will offer to install Scoop itself if not found), clone/update NvPak to ~\AppData\Local\nvim
, and prepare Neovim for first use.
Note: If Scoop is installed for the first time by the script, you will be prompted to open a new PowerShell window and re-run .\install.ps1
for the PATH changes (especially for Scoop itself) to take effect.After the script finishes:
rocks.nvim
. You might see messages from rocks.nvim
about installing plugins. Please wait for this process to complete. If you open Neovim manually for the first time, this process will also occur..bashrc
, .zshrc
) for all PATH changes to apply.Once NvPak is installed:
nvim
rocks.toml
file.rocks.nvim
when Neovim starts if there are changes to rocks.toml
or if new plugins are added.rocks.toml
or want to force a sync/update, you can use commands within Neovim::Rocks sync
- Installs any missing plugins, updates plugins marked as scm
or those with newer version constraints.:Rocks update [<plugin_name>]
- Updates a specific plugin or all plugins to their latest allowed versions.:Rocks clean
- Removes any installed plugins that are no longer listed in rocks.toml
.:Rocks build [<plugin_name>]
- To rebuild a specific plugin if needed.rocks.nvim
documentation for more commands and details.Enjoy your clean and powerful Neovim setup!
If you're interested in contributing to the project, we welcome your help in fixing bugs and adding new features.
Here's how you can get started:
Check the Projects section to see if there are any open issues or features that you'd like to work on.
If you have an idea for a new feature or improvement, feel free to suggest it and discuss it with the NvPak team.
Fork the NvPak repository to your own GitHub account.
Make your changes and commit them to your forked repository. Please make sure to follow the project's coding standards and best practices, and write clear and concise commit messages.
Submit a pull request from your forked repository to the main NvPak repository.
Your changes will be reviewed by the NvPak team, who may provide feedback and request changes if necessary.
Once your changes are approved, they will be merged into the main NvPak repository and will be available to all users.
By contributing to NvPak, you'll be helping to improve the project for all users, and you'll have the opportunity to learn and collaborate with other developers.
Thank you for considering contributing to NvPak!
you can find the list of contributors on the contributors page.