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

specs/editor.lua

treesitter, mini.ai, nvim-autopairs, Comment, nvim-ufo, undotree, illuminate

UI

specs/ui.lua

catppuccin, lualine, alpha-nvim, noice.nvim, which-key, indent-blankline

Coding

specs/coding.lua

blink.cmp, LuaSnip, mason, conform, nvim-lint, copilot, glance

Git

specs/git.lua

gitsigns, lazygit, diffview, fugitive

Tools

specs/tools.lua

telescope, harpoon, oil.nvim, toggleterm, auto-session

Debug

specs/debug.lua

nvim-dap, dap-ui, mason-nvim-dap

Lang

specs/lang/

python (iron.nvim), rust, javascript, asciidoc, markdown