diff --git a/README.md b/README.md index 7ced5f0..6a05682 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,14 @@ nixos/ │ │ ├── pkg.nix # 基础系统包 │ │ ├── users.nix # 用户与 Shell │ │ └── sops.nix # 密钥管理 -│ ├── server/ # 服务器模块 +│ ├── server/ # 服务器模块(默认启用) │ │ ├── default.nix │ │ ├── docker.nix │ │ └── ssh.nix +│ ├── optional/ # 选装模块(按需引用) +│ │ ├── README.md +│ │ ├── virtualbox-guest.nix # VirtualBox Guest 增强 +│ │ └── vscode-server.nix # VS Code Server │ ├── desktop/ # 桌面模块 │ │ ├── default.nix │ │ ├── pkg.nix # 桌面应用包 @@ -106,3 +110,4 @@ sudo nix-collect-garbage --delete-older-than 14d - LXC 容器使用 Proxmox LXC 模块,关闭了 systemd 挂载报错的服务 - `secrets/` 目录经过 sops 加密,需有对应 age key 才能解密 - 各主机目录下有各自的 `README.md`,含该主机的硬件信息与应用列表 +- `modules/optional/` 下的模块为非默认启用,按需在 profile 中引用 diff --git a/modules/optional/README.md b/modules/optional/README.md new file mode 100644 index 0000000..b503fff --- /dev/null +++ b/modules/optional/README.md @@ -0,0 +1,22 @@ +# 📦 modules/optional + +选装模块目录——非默认启用,按需在 profile 中引用。 + +## 🌲 目录树 +```text +📦 modules/optional +├─ 📦 virtualbox-guest.nix # VirtualBox Guest 增强(加入 wheel 组、拖拽支持) +├─ 🧠 vscode-server.nix # VS Code Server + direnv + nix-ld +└─ 📝 README.md +``` + +## 用法 + +在对应 profile 或 host 配置中添加 import: + +```nix +imports = [ + ../modules/optional/virtualbox-guest.nix + ../modules/optional/vscode-server.nix +]; +``` diff --git a/modules/server/virtualbox-guest.nix b/modules/optional/virtualbox-guest.nix similarity index 100% rename from modules/server/virtualbox-guest.nix rename to modules/optional/virtualbox-guest.nix diff --git a/modules/server/vscode-server.nix b/modules/optional/vscode-server.nix similarity index 100% rename from modules/server/vscode-server.nix rename to modules/optional/vscode-server.nix diff --git a/modules/server/README.md b/modules/server/README.md index 8c9e08b..b1f172a 100644 --- a/modules/server/README.md +++ b/modules/server/README.md @@ -1,16 +1,18 @@ -# 🗄️ modules/server +# 🗄️ modules/server -服务器专用模块。 +服务器专用核心模块(所有服务器主机默认启用)。 ## 🌲 目录树 ```text 🗄️ modules/server ├─ 📦 default.nix # 聚合入口 -├─ 📦 pkg.nix # 服务器常用软件包 -├─ 🔥 firewall.nix # 防火墙默认策略 ├─ 🔐 ssh.nix # OpenSSH 参数 ├─ 🐳 docker.nix # Docker 与清理策略 -├─ 📦 virtualbox-guest.nix # VirtualBox Guest 增强配置 -└─ 🧠 vscode-server.nix # VS Code Server 模块 +└─ 📝 README.md ``` +## 可选模块 + +选装模块已移至 `modules/optional/`: +- `virtualbox-guest.nix` — VirtualBox Guest 增强配置(用于 virtualbox profile) +- `vscode-server.nix` — VS Code Server + direnv + nix-ld(用于 wsl/virtualbox profile) diff --git a/profiles/virtualbox.nix b/profiles/virtualbox.nix index 180d283..8e313b4 100644 --- a/profiles/virtualbox.nix +++ b/profiles/virtualbox.nix @@ -4,7 +4,7 @@ ../modules/core ../modules/desktop ../modules/server/ssh.nix - ../modules/server/virtualbox-guest.nix - ../modules/server/vscode-server.nix + ../modules/optional/virtualbox-guest.nix + ../modules/optional/vscode-server.nix ]; } \ No newline at end of file diff --git a/profiles/wsl.nix b/profiles/wsl.nix index 487d772..21559a3 100644 --- a/profiles/wsl.nix +++ b/profiles/wsl.nix @@ -3,7 +3,7 @@ imports = [ ../modules/core ../modules/server/ssh.nix - ../modules/server/vscode-server.nix + ../modules/optional/vscode-server.nix ]; }