基于 Nix + lazy.nvim 的模块化 Neovim 配置。Neovim 插件版本通过 Nix flake 及 flake.lock 锁定,依赖由 Nix 统一声明保证环境可复现。lazy.nvim 插件管理器不再由 flake 管理,通过 activation script 首次 clone 后自我更新。语言工具链(LSP、formatter、treesitter、语言专属插件)集中在单一文件中配置,避免跨多个插件配置文件分散管理的痛点。
lua/— 配置主体,分 config(初始化)、plugins(插件声明)、utils(工具库)三层nix/— Nix 环境声明文件,由根目录flake.nix引入,管理插件和系统级依赖ftplugin/— 文件类型触发脚本,Neovim 按 filetype 自动加载queries/— 自定义 TreeSitter.scm查询,扩展或覆盖内置高亮规则docs/— 架构设计文档与功能开发规划
插件版本管理交给 Nix flake,而非 lazy.nvim 的 lockfile,使版本控制与系统配置统一。语言配置采用统一入口(lua/config/language.lua),按 filetype 事件按需加载,启动时不做多余初始化。