A lightweight Neovim configuration built for my i3 Debian setup.
Fast. Theme-synced. Keyboard-first.
This configuration is designed around three simple principles:
- Keep it lightweight
- Keep it understandable
- Keep it synchronized with the desktop
Every plugin should justify its existence.
Every file should be easy to understand and modify.
No frameworks. No unnecessary complexity. Just Neovim.
- β‘ Lightweight custom Lua plugin manager
- π¨ Automatic i3 theme synchronization
- π Oil.nvim file explorer
- π FZF-Lua fuzzy finder
- π³ Treesitter syntax highlighting
- π Lualine statusline
- π Bufferline tabs
- π Git integration with Fugitive & Gitsigns
- π Markdown-focused workflow
- π Multiple colorschemes
- πͺ Optional transparency support
- π Fast startup and minimal overhead
Not using my i3 + Neovim ecosystem?
By default, this configuration reads the active theme from:
~/.config/i3/.current_themeIf you're using this Neovim configuration standalone, open:
~/.config/nvim/lua/themes/theme-loader.luaand replace:
require("themes.theme-loader").load()with:
vim.cmd.colorscheme("github_dark_default")You can replace
github_dark_defaultwith any installed colorscheme, such as:
catppuccin-frapperose-pine-moonkanagawa-waveeverforestgruvboxnorddraculamoonflyor any other colorscheme you prefer.
One of the core features of this configuration is desktop theme synchronization.
Neovim automatically follows the currently selected i3 theme by reading:
~/.config/i3/.current_theme
Whenever a theme is changed through the i3 theme menu, Neovim automatically loads the matching colorscheme on startup.
| i3 Theme | Neovim Theme |
|---|---|
| Gruvbox | Gruvbox |
| Nord | Nord |
| Dracula | Dracula |
| Rose Pine | Rose Pine Moon |
| Catppuccin | Catppuccin Frappe |
| Kanagawa | Kanagawa Wave |
| Everforest | Everforest |
| GitHub Dark | GitHub Dark |
| Moonfly | Moonfly |
- Alpha startup screen
- Quick shortcuts
- Clean minimal interface
- Oil.nvim file explorer
- FZF-Lua fuzzy searching
- Bufferline tab management
- Git status via Fugitive
- Inline git changes via Gitsigns
- Git branch management
- Markdown preview
- Markdown rendering
- Todo highlighting
If you already have a Neovim configuration, Back-up using:
mv ~/.config/nvim ~/.config/nvim.backupor Remove Existing Neovim Configuration
rm -rf ~/.config/nvimClone the repository:
git clone https://github.com/6aru/nvim ~/.config/nvimLaunch Neovim:
nvimPlugins will automatically install on first launch.
- Neovim 0.10+
- Git & Curl (
sudo apt install git curl -y) - A Nerd Font terminal (for icons and symbols)
sudo apt install ripgrep fd-find fzf nodejs npm shellcheck -y- Prettier
- i3 Window Manager (for theme synchronization)
| Plugin | Purpose |
|---|---|
| Alpha.nvim | Startup dashboard |
| Oil.nvim | File explorer |
| FZF-Lua | Fuzzy finder |
| Treesitter | Syntax parsing |
| Bufferline | Buffer tabs |
| Lualine | Statusline |
| Gitsigns | Git indicators |
| Fugitive | Git workflow |
| Which-Key | Keybinding helper |
| Render Markdown | Markdown rendering |
| Todo Comments | TODO highlighting |
| Colorizer | Color preview |
| nvim-surround | Surround text objects |
| Comment.nvim | Easy commenting |
| Key | Action |
|---|---|
| Space+e | File Explorer |
| Space+ff | Find Files |
| Space+fw | Live Grep |
| Space+fh | Help Tags |
| Space+fc | Search Config |
| Key | Action |
|---|---|
| Tab | Next Buffer |
| Shift+Tab | Previous Buffer |
| Space+t | New Tab |
| Space+x | Close Tab |
| Space+j | Next Tab |
| Space+k | Previous Tab |
| Key | Action |
|---|---|
| Space+gg | Git Status |
| Space+gb | Git Branches |
| Key | Action |
|---|---|
| Space+pp | Markdown Preview |
nvim/
βββ init.lua
β
βββ lua/
β βββ core/
β β βββ options.lua
β β βββ keybinds.lua
β β βββ commands.lua
β β βββ autocmds.lua
β β
β βββ plugins/
β β βββ ui.lua
β β βββ navigation.lua
β β βββ editing.lua
β β βββ git.lua
β β βββ lint.lua
β β βββ theme-picker.lua
β β βββ treesitter.lua
β β βββ todo.lua
β β
β βββ themes/
β β βββ theme-loader.lua
β β
β βββ plugin-list.lua
β βββ plugin-manager.lua
β
βββ Screenshot.png
β
βββ README.md
βββ .gitignore
- Custom Lua plugin manager
- i3 theme synchronization
- Git integration
- Markdown workflow
- Multi-theme support
- Mason integration
- LSP support
- Theme preview system
- Automatic theme installer
- Session management
This repository is primarily a personal configuration, but ideas, suggestions, and improvements are always welcome.
Feel free to open an issue or submit a pull request.
This project was built on ideas and inspiration from:
Their work provided the foundation for my nvim-config structure, plugin management ideas, and many design concepts that helped shape this configuration.
Built with β€οΈ using Neovim, Lua, Debian-13, and i3.
