___ ___ ___ ___
/ /\ / /\ / /\ ___ ___ /__/\
/ /::\ / /:/_ / /::\ /__/\ / /\ | |::\
/ /:/\:\ / /:/ /\ / /:/\:\ \ \:\ / /:/ | |:|:\
/ /:/~/:/ / /:/ /:/_ / /:/ \:\ \ \:\ /__/::\ __|__|:|\:\
/__/:/ /:/___ /__/:/ /:/ /\ /__/:/ \__\:\ ___ \__\:\ \__\/\:\__ /__/::::| \:\
\ \:\/:::::/ \ \:\/:/ /:/ \ \:\ / /:/ /__/\ | |:| \ \:\/\ \ \:\~~\__\/
\ \::/~~~~ \ \::/ /:/ \ \:\ /:/ \ \:\| |:| \__\::/ \ \:\
\ \:\ \ \:\/:/ \ \:\/:/ \ \:\__|:| /__/:/ \ \:\
\ \:\ \ \::/ \ \::/ \__\::::/ \__\/ \ \:\
\__\/ \__\/ \__\/ ~~~~ \__\/
Showcase
Dependencies
git
- A
C/C++
compiler for the treesitter parsers (gcc/g++
,clang/clang++
,zig
) - (Optional)
cargo
forparinfer-rust
- (Optional)
fzf
andrg
forTelescope
- (Optional) any of the required Language Servers for the languages mentioned here
Installation
-
Firstly get a
nvim
binary:- Installing NeoVim (Official Wiki)
-
Back up any old configs
- Assuming
$XDG_CONFIG_HOME
is$HOME/.config
and$XDG_DATA_HOME
is$HOME/.local/share
- Assuming
mv "~/.config/nvim" "~/.config/nvim_backup"
mv "~/.local/share/nvim" "~/.local/share/nvim_backup"
git clone https://www.github.com/reo101/reovim "~/.config/nvim"
-
Run
nvim
. On the first run, NeoVim will bootstrap theHotPot
Fennel Loader andPacker
package manager -
From inside NeoVim run
:PackerInstall
once to install all the packages
NOTE: (hopefully) soon with Nix
Screenshots
Start Screen
Telescope Files
Rust Project
Directory overview
init.lua
- Entry point for Neovimlua/
- Lua config filesbootstrap-hotpot.lua
- HotPot bootstrapperglobals.lua
- Global Lua helper functions and valuesutils.lua
- Utility functions (not used)rv-*package*/init.lua
- Package configurations
fnl/
- Fennel config filesinit.fnl
- Entry point for Fennel configmacros.fnl
- Fennel macros used throughout the Fennel configpackages.fnl
- Packages' definition locationrv-*package*/init.fnl
- Package configurations
luasnippets/
- LuaSnip snippetsqueries/
- Custom Treesitter queries
Notable packages
Package Manager
Fennel Loader
Telescope
- Telescope
- Packer extension
- FZF picker
- Github extension
- Media Files extension
- Symbols extension
- File Browser extension
Neorg
Markdown utils
Which-key
Alpha
Statusline
Tabline
Discord RPC
Notifications
LSP
Languages
- Ansible
- Bash
- C, CPP
- CMake
- Dockerfile
- Erlang
- Go
- Haskell
- JSON
- Javascript, Typescript
- LaTeX
- Lua
- Nim
- Python
- SQL
- Scheme, Racket
- Zig
Additional Language Server plugins
Fennel
DAP
Completion
- CMP
- CMP LSP
- CMP LuaSnip
- CMP Buffer
- CMP NVim Lua
- CMP Path
- CMP Calc
- CMP Spell
- CMP Tmux
- CMP Cmdline
- Autopairs
Snippets
Focus
Treesitter
- Treesitter
- Treesitter Textobjects
- Treesitter Playground
- Treesitter Rainbow
- Treesitter Context
- Treesitter Commentstring
General Utility
- Hop
- Hlslens
- Tabout
- Lastplace
- Sort
- Navigator
- Dirbuf
- Dial
- EasyAlign
- PrettyFold
- RegexPlainer
- NumberToggle
- Mkdir
- BufDelete
- BufResize
- Stabilize
- WinShift
- BetterQFList
- PrettyQFList
- IndentLine