domus-nvim: Architecture & Plugins
Architecture
domus-nvim/
├── init.lua # Entry point
├── lua/domus/ # Configuration namespace
│ ├── config/ # User preferences
│ │ ├── options.lua # Neovim options
│ │ ├── keymaps.lua # Key bindings
│ │ └── autocmds.lua # Autocommands
│ ├── core/ # Infrastructure
│ │ ├── lazy.lua # Plugin manager bootstrap
│ │ └── util.lua # Utilities
│ ├── plugins/ # Plugin system
│ │ ├── specs/ # What to load (declarations)
│ │ │ ├── editor.lua
│ │ │ ├── ui.lua
│ │ │ ├── coding.lua
│ │ │ ├── git.lua
│ │ │ ├── tools.lua
│ │ │ ├── debug.lua
│ │ │ └── lang/
│ │ └── config/ # How to configure (setup)
│ │ ├── treesitter.lua
│ │ ├── telescope.lua
│ │ ├── lsp/
│ │ ├── completion/
│ │ └── dap/
│ ├── features/ # Custom systems
│ │ └── motd/ # Message of the day
│ └── ui/ # Visual components
├── ftplugin/ # Native filetype settings
│ ├── asciidoc.lua
│ ├── lua.lua
│ ├── markdown.lua
│ └── python.lua
├── after/syntax/ # Syntax overrides
└── docs/ # Embedded Antora docs
├── antora.yml
├── antora-playbook.yml
├── modules/ROOT/
└── supplemental-ui/
Plugin Categories
| Category | File | Key Plugins |
|---|---|---|
Editor |
|
treesitter, mini.ai, nvim-autopairs, Comment, nvim-ufo, undotree, illuminate |
UI |
|
catppuccin, lualine, alpha-nvim, noice.nvim, which-key, indent-blankline |
Coding |
|
blink.cmp, LuaSnip, mason, conform, nvim-lint, copilot, glance |
Git |
|
gitsigns, lazygit, diffview, fugitive |
Tools |
|
telescope, harpoon, oil.nvim, toggleterm, auto-session |
Debug |
|
nvim-dap, dap-ui, mason-nvim-dap |
Lang |
|
python (iron.nvim), rust, javascript, asciidoc, markdown |