Kin.nvim is a powerful Neovim configuration, designed to deliver an efficient and optimized experience across any language. It offers the flexibility to be customized for specific languages, adapting to your workflow and maximizing your productivity.
Ensure you have the following installed on your system:
- Git: Download
- Neovim 0.9.5+: Installation Guide
- Clipboard Tool: Required for system clipboard integration. See Clipboard Tool for supported solutions.
You will need one of the following package managers:
- pip: Installation Guide
- npm: Installation Guide
- cargo: Installation Guide
Make sure to have these tools installed:
- fzf: Download
- ripgrep: Download
- make: Install via package manager
- Ubuntu/Debian:
sudo apt-get install build-essential
- Fedora:
sudo dnf groupinstall 'Development Tools'
- Arch Linux(btw):
sudo pacman -S base-devel
- MacOS:
xcode-select --install
- Windows:
scoop install make
- Ubuntu/Debian:
Important
For Windows users, it is necessary to use Powershell 7 or higher
Note
There are two ways to install Kin.nvim: manually or using a script.
Unix
- Make a backup of your current nvim and shared folder
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
- Setup Kin.nvim
git clone --depth 1 https://github.com/CainCarmo/Kin.nvim.git ~/.config/nvim
rm -rf ~/.config/nvim/.git
rm -rf ~/.config/nvim/.gitignore
nvim
Windows
- Make a backup of your current nvim and nvim-data folder
Rename-Item -Path $env:LOCALAPPDATA\nvim -NewName $env:LOCALAPPDATA\nvim.bak
Rename-Item -Path $env:LOCALAPPDATA\nvim-data -NewName $env:LOCALAPPDATA\nvim-data.bak
- Setup Kin.nvim
git clone --depth 1 https://github.com/CainCarmo/Kin.nvim.git $env:LOCALAPPDATA\nvim
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force
Remove-Item $env:LOCALAPPDATA\nvim\.gitignore -Recurse -Force
nvim
You can also use the provided installation scripts for a more automated setup:
- For Unix-based systems, run the following command in your terminal:
bash <(curl -s https://raw.githubusercontent.com/CainCarmo/Kin.nvim/main/utils/scripts/installer.sh)
- For Windows systems, run the following command in PowerShell:
pwsh -c "iwr https://raw.githubusercontent.com/CainCarmo/Kin.nvim/main/utils/scripts/install.ps1 -UseBasicParsing | iex"
The knvim.lua
file is the main configuration file for Kin.nvim
. It is responsible for setting global Neovim options, configuring plugins, and defining themes and other visual elements. Below is a detailed description of how to use and configure this file.
Tip
The knvim.lua
file is located in the lua/user/knvim.lua
directory. It is automatically loaded by Neovim during startup.
Option | Default | Description |
---|---|---|
knvim.startup.header |
ascii.headers.default |
Defines the ASCII header displayed at Neovim startup. |
knvim.startup.footer |
"" |
Defines the ASCII footer displayed at Neovim startup. |
knvim.theme.colorscheme |
"gruvbox" |
Sets the default color scheme for Neovim. |
knvim.langs.lsp.names |
{} |
List of LSP servers to be configured. |
knvim.langs.lsp.tools |
{} |
Additional tools for LSP support. |
knvim.langs.linter.names |
{} |
List of linters to be configured. |
knvim.langs.formatter.names |
{} |
List of formatters to be configured. |
knvim.langs.treesitter.names |
{} |
Languages supported by Treesitter. |
knvim.langs.debugger.adapters |
{} |
Debug adapters to be configured. |
knvim.langs.debugger.configurations |
{} |
Debug configurations specific to each language. |
Note
For a comprehensive overview of all available types, please refer to the lua/user/utils/types/knvim.lua
file.
Important
Ensure that you review and update the knvim.lua
file according to your specific requirements and preferences. This will help you get the most out of Kin.nvim's features and customization options.
You may add or change plugins in lua/user/plugins
. All files there
will be automatically loaded by lazy.nvim
~/.config/nvim or ~/AppData/Local/nvim
β
βββ lua
β βββ user
β βββ config
β β βββ autocmd.lua
β β βββ init.lua
β β βββ keymap.lua
β β βββ option.lua
β βββ helpers
β β βββ extensions
β β β βββ string.lua
β β β βββ table.lua
β β βββ file.lua
β β βββ paths.lua
β βββ layout
β β βββ ascii.lua
β β βββ icons.lua
β βββ packager
β β βββ init.lua
β βββ plugins
β β βββ spec1.lua
β β βββ spec2.lua
β β βββ ...
β βββ utils
β β βββ lsp
β β β βββ jsonls.lua
β β β βββ lua_ls.lua
β β β βββ yamlls.lua
β β βββ types
β β βββ ascii.lua
β β βββ knvim.lua
β βββ knvim.lua
βββ utils
β βββ scripts
β βββ installer.ps1
β βββ installer.sh
β βββ uninstaller.ps1
β βββ uninstaller.sh
β
βββ init.lua
The development of Kin.nvim was inspired by incredible projects that have my sincere thanks to the following repositories:
Β© 2025 CainΓ£ Carmo