๐ณ ๐ฝ ๐ป ๐ฎ ๐ฒ
Fast and structured PDE configuration to enhance developer experience and productivity.
At present, first-hand instructions are only provided for Linux. However, since there is not much wizardy involved following along on other platforms should be straightforward.
Prevent interferences with current Neovim files.
-
When intending to use the default config path
~/.config/nvim
-
Backup or remove current nvim files for a clean start.
# Backup example moving nvim config directories from `<path/dir>` to `<path/dir>.bak` mv ~/.config/nvim{,.bak} && \ mv ~/.local/share/nvim{,.bak} && \ mv ~/.local/state/nvim{,.bak} && \ mv ~/.cache/nvim{,.bak}
-
Clone the repository
git clone --filter=blob:none https://github.com/tenxsoydev/nxvim.git ~/.config/nvim
-
-
Or, use
$NVIM_APPNAME
-
Export the environment variable
export NVIM_APPNAME=nxvim
-
Clone the repository
git clone --filter=blob:none https://github.com/tenxsoydev/nxvim.git ~/.config/$NVIM_APPNAME
-
-
Neovim >= 0.9
-
Packages
-
APT systems
sudo apt install git curl unzip xsel ripgrep fd-find sqlite3 libsqlite3-dev trash-cli
-
Arch systems
sudo pacman -S git curl unzip xsel ripgrep fd sqlite trash-cli
-
-
Modules that add support for plugins that interact with the Neovim API
-
Node client for neovim
npm install -g neovim
-
Python client for neovim
pip install pynvim
In case Node or Python pip need to be installed first, please refer to their documentation.
-
-
Fonts
- Nerd font
- Unicode font (If none is installed by default, noto font packages are usually available via the operating systems package manager).
fc-cache -fv
helps to update font info cache files when new fonts have been added manually.
-
First run
Launch
nvim
and let lazy do it's magic, loading all modules used in this config. There may be warnings regarding missing dependencies during this first installation. Just skip them hitting return. Once all tasks have been completed, restart nvim ZQnvim
. -
Last steps
- Run
:UpdateRemotePlugins
to make sure command line fuzzy search works correctly, as it utilizes some python. - Add language servers / formatters. E.g.:
- Add the
lua
LSPLSPInstall lua_ls
- Also install the formatter used for this config
NullLsInstall stylua
- Add the
- Have fun using it!
- Run
-
Candies like animated auto window widths, dimming of unfocused windows and smooth scrolling.
guitui.mov
-
Coding completions; writing aids; a command-palette with error tolerant typehead completion for commands settings and variables.
helpers.mov
Just like most other neovim configurations, this one includes a collection of plugins. It wouldn't be imaginable without the contributions of so many developers in the open source space. Kudos to every author who contributed to the modules used in this configuration.
- modules = { nxvim/lua/nxvim/init.lua }
Currently, this is rather my personal daily driver then a general-use product. Making it public was driven by colleagues and friends who were interested in getting a share of this config and then liked using it. Getting surprisingly positive feedback even from my grumpiest colleague, led me to believe that this configuration might well have utility for others. However, it may never reach the level and support of a general-use project.
Feel free to use and modify it. Give the project a star to show support if you have found inspiring parts or to keep up to date.
The project uses GPLv3-licensed plugins; therefore, the license for the entire bundled config is GPLv3. However, nxvim's own code is written under the more permissive Apache license. This means the GPL limitations do not apply when the configuration is used without the GPL licensed plugins.