Skip to content

CainCarmo/Kin.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍑 Kin.nvim

Showcase β€’ Requirements β€’ Installation β€’ Knvim File β€’ File Structure β€’ Credits

Last commit License Stars Issues Repo Size

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.

πŸ† Showcase

Knvim Dashboard Knvim File Knvim Autocomplete Knvim Keybinds Knvim Telescope (fzf) Knvim Filetree

🚧 Requirements

Prerequisites

Ensure you have the following installed on your system:

Package Managers

You will need one of the following package managers:

Additional Tools

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

Important

For Windows users, it is necessary to use Powershell 7 or higher

πŸ› οΈ Installation

Note

There are two ways to install Kin.nvim: manually or using a script.

Manual

Unix
  1. Make a backup of your current nvim and shared folder
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
  1. 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
  1. 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
  1. 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

Script

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"

πŸ“œ Knvim File

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.

πŸ“‚ File Structure

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

🌟 Credits

The development of Kin.nvim was inspired by incredible projects that have my sincere thanks to the following repositories:


Β© 2025 CainΓ£ Carmo