Custom handmade Neovim distribution.
Find a file
Saiyed Shizain e2a4895470
Merge pull request #12 from RanXom/feat/editor-qol
Feat/editor-qol: Nix support, completion menu fix and Neovim version guard
2026-09-23 16:29:17 +05:30
doc chore(setup): setup kickstart with required plugins 2026-08-31 15:15:44 +05:30
lua fix(completion): collapse multi-line item text in completion source column 2026-09-23 00:13:05 +05:30
.gitignore refactor(modular-config): split configuration into modules 2026-09-01 01:37:53 +05:30
.stylua.toml chore(setup): setup kickstart with required plugins 2026-08-31 15:15:44 +05:30
init.lua chore(core): fail fast with clear message when Neovim is older than 0.12 2026-09-23 16:28:43 +05:30
LICENSE.md chore(setup): setup kickstart with required plugins 2026-08-31 15:15:44 +05:30
README.md docs: refine README to be straight to the point without buzzwords 2026-09-02 00:05:15 +05:30

rx-neovim

Personal Neovim configuration evolved from kickstart.nvim.

Overview

Provides a modular Neovim environment using native package management (vim.pack.add). Core capabilities include a unified statusline, LSP integration, and rich markdown rendering.

Integrations

  • rx-tmux: Optionally pairs with rx-tmux for a terminal multiplexer workflow.
  • Noctalia (Matugen): Requires Noctalia v5 (or Matugen) to generate base16 colors dynamically. Colors can alternatively be hardcoded in the UI configuration.

Features & Plugins

Leverages Neovim's native vim.pack.add for package management, avoiding external package managers like lazy.nvim while maintaining a modular structure.

Core Plugins

  • Telescope: Fuzzy finder for files, LSP references, diagnostics, and help tags.
  • blink.cmp & LuaSnip: Autocompletion engine and snippet support.
  • nvim-lspconfig, Mason & conform.nvim: Automated LSP installation, configuration, and format-on-save.
  • nvim-treesitter: Syntax highlighting, indentation, and folding.
  • nvim-autopairs: Automatic bracket pairing and <CR> formatting.

UI & Aesthetics

  • mini.nvim (statusline): Single-line UI. The command line (:) and confirm prompts are injected into the statusline.
  • snacks.nvim: Dashboard and unified notification system.
  • which-key.nvim: Displays available keybindings as you type.
  • gitsigns.nvim: Git integration within the sign column.

Markdown & Note-taking

  • obsidian.nvim: Integration with Obsidian vaults for note-taking.
  • render-markdown.nvim: Concealed markdown display within the buffer.
  • image.nvim: Inline image rendering using the Kitty graphics protocol.
  • render-latex.nvim: Renders display math blocks as images.

Architecture

The configuration is modular to keep concerns separated:

.
├── init.lua                      -- Bootstrap: loads modules in order
│
├── lua/
│   ├── core/
│   │   ├── options.lua           -- Editor options (vim.opt, vim.o)
│   │   ├── keymaps.lua           -- Global keymaps and diagnostics
│   │   ├── autocmds.lua          -- General autocommands
│   │   └── plugin-events.lua     -- vim.pack build hooks (PackChanged)
│   │
│   ├── plugins/
│   │   ├── ui.lua                -- UI plugins (which-key, gitsigns, mini)
│   │   ├── telescope.lua         -- Telescope setup and keymaps
│   │   ├── lsp.lua               -- LSP servers, Mason, keymaps
│   │   ├── formatting.lua        -- conform.nvim
│   │   ├── completion.lua        -- blink.cmp + LuaSnip
│   │   ├── treesitter.lua        -- Treesitter parsers and highlighting
│   │   └── ...                   -- Modular plugin configs (markdown, image, etc.)
│   │
│   └── integrations/
│       └── matugen.lua           -- Matugen dynamic colorscheme (auto-generated)

Getting Help & Keymaps

The configuration uses the <Space> key as the leader key (<leader>).

To search for documentation or keybindings:

  • Press <leader>sh (Search Help) to open Telescope and search through all Neovim help tags.
  • Press <leader>sk (Search Keymaps) to search active keybindings.
  • Press <leader> and wait; which-key.nvim will display available keymap groups.

Custom Mappings

  • Splits: <leader>- for horizontal split, <leader>| for vertical split.
  • LSP Navigation: grd (definition), grr (references), gri (implementation), grt (type definition).
  • Visual Indentation: < and > in visual mode retain selection for repeated indenting.

Acknowledgements

Built upon kickstart.nvim, modified to use native package management and a custom UI.