No description
  • Lua 78.7%
  • Shell 21.3%
Find a file
2026-10-18 23:40:24 +03:00
after updates 2026-10-18 23:40:24 +03:00
lua updates 2026-10-18 23:40:24 +03:00
scripts format 2026-08-16 11:46:48 +03:00
.emmyrc.json use emmylua for lsp 2026-10-16 18:54:01 +03:00
.gitignore updates 2026-04-05 22:31:45 +02:00
.styluaignore stylua igore 2021-10-20 21:37:58 +02:00
filetype.lua package updates 2025-12-28 20:11:39 +02:00
init.lua updates 2026-04-05 22:31:45 +02:00
nvim-pack-lock.json packages updates 2026-10-18 20:14:11 +03:00
README.md updates 2026-10-10 17:34:18 +03:00
screenshot.png updates 2026-02-10 01:26:28 +02:00
stylua.toml ts-comment plugin & format 2024-06-02 01:25:35 +03:00

⚡ ma.nvim

A Lua-first Neovim config focused on performance and native APIs.

screenshot

Personal Neovim config focused on built-in APIs (vim.pack, vim.lsp, treesitter) with a small plugin set.

Requirements

  • Current Neovim nightly (uses 0.13-dev APIs and experimental ui2)
  • Linux (Arch with yay) or macOS (with brew) for scripts/setup
  • ripgrep
  • curl + jq (used by the GraphQL helper)

Install

mv ~/.config/nvim{,.bak}
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

git clone https://github.com/22mahmoud/nvim ~/.config/nvim
~/.config/nvim/scripts/setup
nvim

Plugin install is handled automatically by vim.pack on first startup.

Update Plugins

nvim --headless "+packupdate\!" +wqa

What's Included

  • ⚙️ Lean Lua-first setup tuned for speed
  • 📦 Uses built-in Neovim package manager (vim.pack) via lua/core/pack.lua
  • 🧠 Built-in LSP pipeline with vim.lsp.enable(...) and native completion
  • 🌳 Treesitter + textobjects setup for better syntax and text objects
  • Native multicursors: Q to toggle, gQ to restore, <leader>mc to clear (<C-l> remains window navigation)
  • 📁 File explorer workflow via oil.nvim on <leader>e
  • 🎨 Custom statusline + winbar in lua/core/statusline.lua
  • 💊 Custom GraphQL runner for .graphql buffers on <kbd>,</kbd> + <kbd>e</kbd> asciicast

Deprecation Notes

Old notes kept for historical context:

  • using this wrapper pkg-manager.lua, so you can add new plugin with lua use 'neovim/lspconfig'
  • and a custom script to add auto-import functionality when insert from LSP omni completion