Allow some/all cmp sources to be enabled/disabled depending on the filetype of the buffer
Rootiest NeoVim Configuration
██████╗ ██████╗ ██████╗ ████████╗██╗███████╗███████╗████████╗
██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝╚══██╔══╝
██████╔╝██║ ██║██║ ██║ ██║ ██║█████╗ ███████╗ ██║
██╔══██╗██║ ██║██║ ██║ ██║ ██║██╔══╝ ╚════██║ ██║
██║ ██║╚██████╔╝╚██████╔╝ ██║ ██║███████╗███████║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
,l; c,
.:ooool' loo:.
.,oooooooo:. looooc, /VVVVVVVV\++++ /VVVVVVVV\
ll:,loooooool, looooool \VVVVVVVV/++++++\VVVVVVVV/
llll,;ooooooooc. looooooo |VVVVVV|++++++++/VVVVV/'
lllllc,coooooooo; looooooo |VVVVVV|++++++/VVVVV/'
lllllll;,loooooool' looooooo +|VVVVVV|++++/VVVVV/'+
lllllllc .:oooooooo:. looooooo +++|VVVVVV|++/VVVVV/'+++++
lllllllc 'loooooool,:ooooooo +++++|VVVVVV|/VVV___++++++++++
lllllllc ;ooooooooc,cooooo +++|VVVVVVVVVV/##/ +_+_+_+
lllllllc .coooooooo;;looo +|VVVVVVVVV___ +/#_#,#_#,\
lllllllc ,loooooool,:ol |VVVVVVV//##/+/#/+/#/'/#/
'cllllc .:oooooooo;. |VVVVV/'+/#/+/#/+/#/ /#/
.;llc .loooo:. |VVV/'++/#/+/#/ /#/ /#/
,; ;l; 'V/' /##//##//##//###/
The rootiest neovim configuration you will ever see!
Pre-requisites
Note: While NeoVim may run without these prerequisites, functionality will be limited.
For the full experience, it is recommended to install the pre-requisites.
Required
- git - Version control system
- luarocks - Lua package manager
- Nerd Fonts - Font with extended glyphs
Your terminal/client application must have a Nerd Font installed and support the Nerd Font glyphs.
Kitty or NeoVide are recommended.
Optional
- ripgrep - A faster grep
- fzf - A command-line fuzzy finder
- fd - A simple, fast and user-friendly alternative to 'find'
- lazygit - A simple terminal UI for git commands
- kitty - A fast, feature-rich, GPU based terminal emulator
- NeoVide - A fast, feature-rich, and modern NeoVim GUI
- fish - A smart and user-friendly command line shell
Installation
-
Install NeoVim (0.9+)
-
Install Pre-requisites
-
Backup your current nvim configuration (if you have one)
mv ~/.config/nvim ~/.config/nvim.bak -
Clone the repository
git clone git@github.com:rootiest/rootiest-nvim ~/.config/nvim -
Enjoy! 🎉
Keep your current nvim configuration
This will download and open the Rootiest NeoVim configuration
without replacing your current NeoVim configuration.
-
Clone the repository
git clone git@github.com:rootiest/rootiest-nvim ~/.config/rootiest/rootiest-nvim -
Open Neovim with this config:
NVIM_APPNAME=rootiest/rootiest-nvim/ nvim -
Enjoy! 🎉
-
Fall in love and see Installation
Features
- Comfortable keybindings and IDE-like features
- Designed to be quick to load and easy to use without compromising on features
- Leans heavily on lazy and luarocks for plugin management and lazy-loading
- Catppuccin theme is default but a selection of others are also included
- Automatic light/dark mode switching based on system theme
- Extensive special configurations for kitty, including theme matching
- Kitty scrollback and keybinding support
- Special configuration for neovide
- Detects terminal client and adjusts accordingly
- ToggleTerm, fzf-lua, neotree, etc. for quick access to files and terminal
- Many UI elements to enhance the experience
- LSP support for many languages and automatic setup for many more
- Remotely spawn a NeoVim instance over ssh, in a container, or from a git repo
- Dashboard logo adjusts to the size of the windowa
- Beautiful, unique, and feature-rich lualine statusline
- When available, git-blame, WakaTime and music player stats components displayed
in lualine

- Warning system for missing dependencies
- User-selected AI completion tool:
codeium,copilot,tabnine,minuet, ornone - WakaTime integration: Tracking time spent on code
- Hardtime integration: Trains better use of vim motions and shortcuts
- Colorscheme is remembered between sessions with astral.nvim
- Highlight group customizations that are colorscheme-compliant
- Lean and fast while providing a complete professional experience
- Achieves sub-75ms startup time on my personal laptop, goal to never exceed 100ms
Screenshots
Features and
Options
There are some hidden files in the configuration directory that can be used to configure user options.
-
.colorscheme: Set the colorscheme
This file facilitates restoring the colorscheme between sessions.
This value is overwritten when the colorscheme is changed in the UI. -
.leader: Set the leader key
This file defines the leader key used in the mappings.
It contains only a single space by default. -
.aitool: Set the AI tool
This file defines the AI plugin used for code completion.
The options arecodeiumcopilottabnineminuetornone. -
.wakatime: Enables WakaTime
This file defines whether the WakaTime plugin is enabled.
The options aretrueorfalse. -
.useimage: Enables Image plugin
This file defines whether the Image plugin is enabled.
The options aretrueorfalse. -
.hardtime: Enables Hardtime plugin
This file defines whether the Hardtime plugin is enabled.
The options aretrueorfalse. -
.ignore-deps: Disables dependency check
This file defines whether the dependency check is enabled.
The options aretrueorfalse.
Companion Tools
Rootiest Kitty Conf - A kitty configuration that is designed to work with this NeoVim configuration
Rootiest Fish Conf - A fish configuration that pairs well with this NeoVim configuration
Nerd Fonts - A collection of fonts that includes many icons and glyphs used in this configuration.



