ghost-nvim is a modular Neovim configuration for a clean editing experience, modern UI, solid LSP tooling, and practical defaults. The refactor/v0.1 branch focuses on a cleaner architecture under lua/ghost, keeping the setup fast, maintainable, and ready for everyday development.
๐งช Version:
refactor/v0.1โ preview branch for thev0.1refactor. Layout, defaults, and documentation may still evolve.โ Tested with: Neovim
0.11.6
ghost-nvim delivers a refactored, high-signal Neovim workflow with modern tools and a cleaner internal structure.
-
๐ค Focused AI Workflows
CopilotChat.nvimis integrated for quick buffer questions, visual explain/review/fix prompts, prompt selection, and model switching. -
โก Fast, Lazy-Loaded Setup Powered by
lazy.nvim, with on-demand loading and a modular layout built for thev0.1refactor. -
๐ง Modern LSP Tooling
mason.nvim,nvim-lspconfig,conform.nvim, andnvim-lintprovide language servers, format-on-save, and lint feedback with minimal setup. -
๐ Practical Navigation
telescope.nvimcovers files, grep, buffers, diagnostics, and keymaps, whileneo-tree.nvimprovides a floating explorer for files, buffers, and Git status. -
๐จ Modern UI Stack Includes
alpha-nvim,lualine.nvim,bufferline.nvim,noice.nvim, and multiple bundled themes such as Catppuccin, Gruvbox, TokyoNight, Kanagawa, Vague, and Everforest. -
๐ ๏ธ Full Daily Driver Toolkit Ships with terminals, Git tooling, diagnostics views, snippets, autopairs, code snapshots, and multicursor editing.
-
๐งฉ Refactored by Feature Core config lives in
lua/ghost/config, plugin specs are grouped by feature, and language-specific LSP settings are isolated underlsp/.
Requires Neovim 0.11.6. Plugin management is handled via lazy.nvim.
Install the following dependencies:
gitcurltar- a C compiler
ripgrepmakefortelescope-fzf-native.nvim- Nerd Font for icons
Optional but useful:
python3,lua, andbashfor the file runner intoggleterm- an active GitHub Copilot subscription if you want to use
CopilotChat.nvim
-
Backup your current Neovim config if needed:
mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak
-
Clone the repo:
git clone https://github.com/manwwe/ghost-nvim.git ~/.config/nvim -
Start Neovim:
nvim
-
Let
lazy.nviminstall the plugins. -
Run the following once:
:Lazy sync :TSUpdate :Mason
โ
You are ready to use ghost-nvim on the refactor/v0.1 branch.
- Plugins are installed automatically on first launch.
- Use
:Lazyto inspect, sync, clean, and update plugin state. - Use
:Masonto manage language servers, formatters, and linters.
CopilotChat.nvimis available through a compact keymap set for toggling chat, selecting models and prompts, and asking questions about the current buffer.- Visual mode shortcuts are configured for explain, review, fix, optimize, docs, and tests.
- The default model is configured as
gpt-4.1.
- Unified completion sources include LSP, snippets, paths, and buffer suggestions.
- Snippet support is powered by
LuaSnipandfriendly-snippets. - Completion keeps
<Tab>and<S-Tab>free while usingCtrl-based navigation and snippet jumps.
- Fuzzy finder mapped around
<leader>ffor files, grep, diagnostics, keymaps, and recent files. - Includes
telescope-fzf-native.nvimwhenmakeis available.
- LSP servers are managed through Mason and enabled with
nvim-lspconfig. - Formatting runs on save through
conform.nvim, with manual formatting on<leader>fm. - Linting runs on buffer enter, write, and insert leave through
nvim-lint. - Default language tooling includes
lua_ls,pyright,rust_analyzer, andts_ls.
alpha-nvimprovides the startup dashboard.neo-tree.nvimhandles files, buffers, and Git status in floating views.noice.nvimandnvim-notifyimprove command-line, message, and notification handling.bufferline.nvimandlualine.nvimprovide buffer and statusline context.- Theme switching is built in, with
<leader>utopening the theme picker.
toggleterm.nvimprovides a main terminal, floating terminal, vertical terminal, and a current-file runner forpython,lua, andsh.- Git flows are covered by
gitsigns.nvimandlazygit.nvim. trouble.nvim,which-key.nvim,mini.surround,nvim-autopairs,codesnap.nvim, andmulticursor.nvimround out the daily editing workflow.
Detailed keybindings are documented in KEYMAPS.md.
That file includes:
- recent layout changes
- general editor mappings
- Telescope, LSP, Git, Terminal, Trouble, Copilot Chat, CodeSnap, and Multicursor shortcuts
Contributions should follow the refactored layout used by this branch and keep documentation aligned with behavior.
- plugin behavior and editor UX
- language tooling and defaults
- UI consistency and theme integrations
- documentation, examples, and keymap coverage
- Fork the repo
- Create a branch
- Keep changes scoped and documented
- Update docs when behavior or mappings change
- Open a PR with a clear description
- Keep core settings in
lua/ghost/config - Group plugins by feature under
lua/ghost/plugins - Keep language-specific server config under
lsp/ - Prefer lazy-loaded plugins and small, focused modules
- Update
KEYMAPS.mdwhen adding or changing user-facing mappings
.
โโโ init.lua
โโโ KEYMAPS.md
โโโ lsp
โ โโโ lua_ls.lua
โ โโโ pyright.lua
โ โโโ rust_analyzer.lua
โ โโโ ts_ls.lua
โโโ lua
โ โโโ ghost
โ โโโ config
โ โ โโโ autocmds.lua
โ โ โโโ keymaps.lua
โ โ โโโ lang_tools.lua
โ โ โโโ lazy.lua
โ โ โโโ options.lua
โ โ โโโ theme.lua
โ โ โโโ treesitter.lua
โ โโโ plugins
โ โ โโโ alpha.lua
โ โ โโโ bufferline.lua
โ โ โโโ colorschemes.lua
โ โ โโโ copilot-chat.lua
โ โ โโโ gitsigns.lua
โ โ โโโ indent-blankline.lua
โ โ โโโ lsp
โ โ โ โโโ completion.lua
โ โ โ โโโ formatting.lua
โ โ โ โโโ init.lua
โ โ โ โโโ linting.lua
โ โ โโโ lualine.lua
โ โ โโโ misc.lua
โ โ โโโ multicursor.lua
โ โ โโโ neo-tree.lua
โ โ โโโ noice.lua
โ โ โโโ telescope.lua
โ โ โโโ toggleterm.lua
โ โ โโโ treesitter.lua
โ โโโ utils
โ โโโ keymap.lua
โ โโโ ui.lua
โโโ README.md
nvim-treesitteris pinned tomasterfor compatibility with Neovim0.11.x.CopilotChat.nvimis an optional integration and requires GitHub Copilot access.- The refactor branch intentionally favors small, focused modules over a monolithic config layout.


