一键导入
module
Create or edit NixOS/Home Manager modules. Use when asked to create modules, add new modules, split modules, or manage the module architecture.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create or edit NixOS/Home Manager modules. Use when asked to create modules, add new modules, split modules, or manage the module architecture.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage system and user software packages, profiles, and overlays. Use when asked to install, add, remove, change software, enable/disable profiles, or manage Flatpak apps.
Refactor NixOS configuration — extract modules, clean up, remove dead code, consolidate duplicates. Use when asked to refactor, split, clean, reorganize, optimize, or consolidate Nix config.
Validate, build, and deploy the NixOS configuration. Use when asked to run, build, check, validate, verify, test, or deploy the NixOS config.
Manage NixOS users — add, remove, or modify user configurations. Use when asked to add users, create users, manage users, set up multi-user, or configure profiles and dotfiles.
Safely rebuild and deploy the NixOS system. Use when asked to rebuild, switch, deploy, apply configuration, or activate changes.
Debug Nix build failures, eval errors, and runtime issues. Use when asked to debug, fix errors, troubleshoot, diagnose build/eval failures, greetd crashes, or systemd failed services.
| name | module |
| description | Create or edit NixOS/Home Manager modules. Use when asked to create modules, add new modules, split modules, or manage the module architecture. |
# modules/<name>.nix — <职责>
{ config, lib, pkgs, ... }:
let cfg = config.mcb.<选项>;
in {
config = lib.mkIf cfg.enable {
# 实现
};
}
规则:lib.mkIf 条件启用、不用 with lib;;需要机器覆盖的共享默认值用 lib.mkDefault,合并型列表/条件接线按语义选择优先级;普通模块不声明 options.mcb.*(impermanence/secrets 平台骨架例外,需注明原因)。
从 modules/lib.nix 导入,不要本地重定义:
inherit (import ./lib.nix { inherit lib; }) resolvePkg validUserName;
resolvePkg — 安全解析 nixpkgs 路径(替代手动 tryEval)
validUserName — POSIX 用户名格式校验
modules/options.nix 的 options.mcb 下声明modules/<name>.nixmodules/default.nix imports 中注册(按分组顺序:核心→系统基础→包服务→桌面扩展→平台级)nix fmt && statix check && deadnix --fail . && nix flake check# users/<name>/<feature>.nix
{ config, lib, pkgs, ... }:
{
config = {
home.packages = with pkgs; [ ... ];
programs.xxx.enable = true;
xdg.configFile."..." = { ... };
};
}
在 users/<name>/default.nix 的 imports 中加入 ./<feature>.nix。
| 类型 | 文件 | 示例 |
|---|---|---|
| 系统功能 | modules/<name>.nix | gaming.nix |
| 系统服务 | modules/services/<name>.nix | services/desktop.nix |
| 用户功能 | users/<user>/<name>.nix | desktop.nix |
| 选项声明 | modules/options.nix(唯一) | — |