This repository is a personal Neovim configuration based on LazyVim. It bootstraps lazy.nvim and loads LazyVim plus a small set of custom plugins and options.
This README explains what the config does, how to install it, and notes about the important plugins and setup steps.
This configuration is based on the Omarchy Linux default LazyVim configuration (an "omakase" Arch-based distribution). Omarchy's creator, DHH, describes Omarchy as:
Omarchy is an omakase distribution based on Arch Linux and the tiling window manager Hyprland. It ships with just about everything a modern software developer needs to be productive immediately. That's everything from Neovim (btw) to Spotify, Chromium to Typora, and Alacritty to LibreOffice. Hell, even Zoom is there!
This isn't just a grab bag of preinstalled packages, though. It's a complete system designed with both aesthetics and productivity in mind. Because a beautiful system is a motivating system, and productivity has always been downstream from motivation.
It's true that developing an eye for the beauty of a TUI-heavy, theme-delighted, tiling-window-managed system like Omarchy can be an acquired taste. But that's why you're here, isn't it? To experience something a little outside of your comfort zone? To embark on a little bit of an adventure into a new way of working with computers? I hope so.
Omarchy isn't like Windows and it's not like macOS either. It's not trying to be as familiar as possible. It's trying to be beautiful and better. Embrace the Linux-ness of it all. Manually editing some config files, sure. Heavy on the terminal, definitely.
This README documents the Neovim/LazyVim portion of that setup and adapts the editor configuration for personal use while preserving the aesthetic and productivity-oriented philosophy.
- Base: LazyVim (via folke/lazy.nvim)
- Main entry:
init.lua->require("config.lazy")which bootstraps lazy.nvim and loads thepluginsandlazyvim.pluginsspecs. - Notable custom plugins configured in
lua/plugins/*.lua:- mcphub.nvim (ravitemer/mcphub.nvim)
- avante.nvim (yetone/avante.nvim) + providers and integrations
- copilot.lua (zbirenbaum/copilot.lua)
- blink.cmp (saghen/blink.cmp) with
blink-cmp-avanteprovider - render-markdown.nvim, img-clip, and other helper integrations
- Minimal local options:
relativenumber = false,swapfile = false(seelua/config/options.lua). - Some plugins are intentionally disabled in
lua/plugins/disabled.lua(e.g. bufferline).
- Neovim (recommended 0.9+)
- Git (required to clone lazy.nvim/plugins)
- Node.js (for some plugins and for
copilot.lua) — ensurenodeis on your PATH - npm (to install global helper
mcp-hubused by mcphub.nvim) - Optional: make (for building some plugins on non-Windows systems)
-
Make a backup of any existing Neovim config you have (e.g.
~/.config/nvim). -
Place this repository's files in your Neovim config directory. Example (from your home):
- Clone directly into place:
git clone "https://github.com/davidbasilefilho/omarchy.nvim" ~/.config/nvim
- Or copy the files into
~/.config/nvim.
-
Open Neovim. The bootstrap in
lua/config/lazy.luawill attempt to clonelazy.nvimautomatically. On first run the plugin manager will install configured plugins.- You can also run headless install/sync to avoid opening UI: nvim --headless -c "lazy sync" -c "qa"
-
After plugins install, restart Neovim.
-
lazy.nvim bootstrap
- The bootstrap code lives in
lua/config/lazy.lua. It clones lazy.nvim (branchstable) into Neovim's data path if it's missing.
- The bootstrap code lives in
-
mcphub.nvim (ravitemer/mcphub.nvim)
- This config includes
mcphub.nvimand its dependency onplenary. - The plugin
buildfield requests:npm install -g mcp-hub@latest. - If the automatic build fails or you prefer manual install, run: npm install -g mcp-hub@latest
- This config includes
-
avante.nvim (yetone/avante.nvim)
- This plugin is configured to use a provider (
copilot) inlua/plugins/ai.luaand references anAGENTS.mdfile viainstructions_file. - It depends on a number of helper plugins (telescope, plenary, hrsh7th/nvim-cmp, etc.).
- Build step: on non-Windows systems
makeis invoked; on Windows a PowerShell script is configured. If the build fails, ensuremakeor PowerShell is available, or follow the plugin's upstream README for manual build steps. - The config uses a
system_promptfunction that consultsmcphubfor active servers. If you do not run mcphub or you haven't configured any agents, the prompt will be empty. - Note:
AGENTS.mdis referenced in the config. This file is not present by default in the project root — create it if you want to store or document local agents/tools for avante.
- This plugin is configured to use a provider (
-
copilot.lua (zbirenbaum/copilot.lua)
- Configured to trigger on
InsertEnterwithnodeas the command. Make surenodeis installed and available in your PATH. - Keymaps for Copilot suggestions are set in the plugin config (e.g. accept uses
<M-l>by default in this config).
- Configured to trigger on
-
blink.cmp + blink-cmp-avante
- Completion backend with a custom provider entry for Avante.
-
img-clip.nvim and render-markdown.nvim
- Useful for inline images and rendering markdown; check their upstream docs for system-specific dependencies.
-
lua/config/options.luasets a couple of personal options:vim.opt.relativenumber = falsevim.opt.swapfile = false
-
lua/config/keymaps.luais present but currently contains no extra keymaps beyond LazyVim defaults. -
lua/plugins/disabled.luadisablesakinsho/bufferline.nvim(setenabled = false).
-
Open Neovim and run the LazyUI commands, e.g.
:Lazyand use the UI to update or:Lazy update/:Lazy sync. -
From a terminal you can run headless operations, e.g.:
nvim --headless -c "Lazy sync" -c "qa"
-
If lazy.nvim fails to clone during bootstrap:
- Verify
gitis installed and network access is available. - You can clone
https://github.com/folke/lazy.nvim.gitmanually into the path shown in the bootstrap script (data path +/lazy/lazy.nvim).
- Verify
-
If
mcp-hubinstallation fails during plugin build:- Install manually:
npm install -g mcp-hub@latest(requires npm + sufficient permissions)
- Install manually:
-
If a plugin build that relies on
makefails on Windows, ensure you either run the PowerShell build or install a compatible build tool (e.g. via MSYS2, WSL). -
If Copilot or Avante features do not work:
- Ensure
nodeis installed and accessible. - Ensure any provider-specific credentials or endpoints are configured correctly in
lua/plugins/ai.lua.
- Ensure
lua/plugins/ai.luareferencesAGENTS.mdasinstructions_filefor avante. Create anAGENTS.mdin the project root if you want to add local agent/tool instructions that Avante/other tools can reference.
- This configuration uses LazyVim (https://github.com/LazyVim/LazyVim) and many community plugins. See the
lua/pluginsfolder for the exact plugin list and options.
- This repo does not include an explicit license file. Add a LICENSE at the project root if you want to declare one.
If you want, I can also:
- Add a minimal
AGENTS.mdtemplate referenced by avante (the plugin currently points to that file but it is not present). - Add more documentation about keymaps or customize options.