No description
  • Lua 93.5%
  • Shell 6.5%
Find a file
2026-04-13 12:28:03 +02:00
after add ts_autotag plugin 2026-04-03 22:24:01 +02:00
lua updates 2026-04-05 17:23:33 +02:00
scripts updates 2026-02-10 01:26:28 +02: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-04-13 12:28:03 +02:00
README.md updates 2026-04-05 14:30:21 +02: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

  • Recent Neovim with vim.pack and vim.lsp.config support
  • 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 "+PkgUpdate" +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
  • 📁 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