No description
  • Lua 96.7%
  • Shell 3.3%
Find a file
2026-02-28 01:26:23 +02:00
after enhance gql fetch plugin 2026-02-28 01:26:23 +02:00
lsp more vanilla neovim 2026-02-10 00:28:48 +02:00
lua/ma enhance gql fetch plugin 2026-02-28 01:26:23 +02:00
scripts updates 2026-02-10 01:26:28 +02:00
snippets snipptes and tsgo 2026-01-12 23:46:24 +02:00
.gitignore simplify 2026-02-18 11:40:03 +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 use fzf-lua 2026-02-24 16:59:07 +02:00
nvim-pack-lock.json use fzf-lua 2026-02-24 16:59:07 +02:00
README.md updates 2026-02-11 11:48:31 +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/ma/plugins.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/ma/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