░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░ ░░░░ ░░░░ ░░░ ░░ ░░ ░░░ ░░░ ░
▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒
▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓▓
█ ███ ████ ████ ███ ████ ██████ ██████████ ██████ ███████████████ ███████ ████
█ ████ ████ ████ ████████ ██████ ██ ███ ████████ ████
█████████████████████████████████████████████████████████████████████████████████████████████
░░░░░░░░░░░ ░░░ ░░ ░░░ ░░░ ░░░░ ░░ ░░ ░░░░ ░░░░░░░░░░░
▒▒▒▒▒▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒
▓▓▓▓▓▓▓▓▓▓▓ ▓ ▓ ▓▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓
█████████████ ██ ███ █████████ ████ ████ █████████ ██████ █ █ █████████████
█████████████ ███ ███ ███ ██████ ███████ ██ ████ ██████████████
█████████████████████████████████████████████████████████████████████████████████████████████
,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!
Note: While Neovim may run without these prerequisites, functionality will be limited.
For the full experience, it is recommended to install the pre-requisites.
- 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.
WezTerm, Kitty, or NeoVide are recommended.
- 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
-
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 [email protected]:rootiest/rootiest-nvim ~/.config/nvim
-
Enjoy! 🎉
This will download and open the Rootiest Neovim configuration
without replacing your current Neovim configuration.
-
Clone the repository
git clone [email protected]: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
- Comfortable keybindings and PDE-like features
- Automatically check for Neovim updates
- Able to build Neovim updates from source for nightly or any release (on Linux)
- Built like a distro. Highly customizable and extensible without writing any code!
- 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 window
- 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
- Now with more efficient, refactored keymappings!
Features and
Options are configured in the config/options.lua
file.
All of the options are documented showing their possible values.
This file allows you to select between various plugins and configurations without needing to write any configuration code yourself.
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ROOTIEST ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vim.g.aitool = "codeium" --Options: codeium, copilot, tabnine, minuet, none
vim.g.usewakatime = true --Options: true, false
vim.g.usehardtime = false --Options: true, false
vim.g.useimage = true --Options: true, false
Rootiest WezTerm - A wezterm configuration that is designed to work with this Neovim configuration.
Rootiest Kitty - A kitty configuration that is designed to work with this Neovim configuration.
Rootiest Fish - A fish configuration that pairs well with this Neovim configuration.
Rootiest Tmux - A tmux configuration that is designed to work with this Neovim configuration.
Rootiest Vim - A Vim configuration that pairs well with this Neovim configuration.
Rootiest Iosevka Font - A custom Iosevka font that is designed by developers, for developers.
Nerd Fonts - A collection of fonts that includes many icons and glyphs used in this configuration.