Skip to content
This repository was archived by the owner on Feb 28, 2026. It is now read-only.

mashrafdev/nvim

Repository files navigation

Caution

This repository is archived and has been migrated to my self-hosted git server at git.mahmoudashraf.dev/22mahmoud/nvim.

⚡ 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

Releases

No releases published

Packages

 
 
 

Contributors