| name | refactor |
| description | 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. |
Refactor
原则
不改行为、小块提交、每次改动后 nix flake check、保留中文注释。
操作清单
A. 提取模块
- 识别可独立逻辑块(>150 行或清晰语义边界)
- 创建
modules/<name>.nix
- 在
modules/default.nix imports 中按类别插入
- 从原文件删除已移动配置
nix flake check
不提取:逻辑高度耦合(greetd+regreet)、<50 行独立功能、导致复杂模块间依赖。
B. 清理 tryEval(已解决)
modules/lib.nix 提供统一的 resolvePkg 函数,已替代 i18n.nix/fonts.nix/core.nix 中的手动 tryEval
- 新增弹性包解析逻辑请使用
resolvePkg,不要手动实现
C. 清理 overlay
当前覆盖:bilibili 兼容版本、mihomo 版本固定 + Clash 注入、valkey doCheck=false、uefi-firmware-parser 补 setuptools-scm。
D. 去重包列表
- 系统基础设施保留在
modules/packages.nix,由独立系统开关控制;gaming 跟随 programs.steam.enable
- 用户应用与偏好放在
users/profiles/;不要让 profile 反向设置 NixOS 系统包开关
- 检查 16 个 profile 间包重叠并合并/拆分;游离用户包归入对应 profile,确保在
users/profiles/default.nix 注册
F. 死代码扫描
deadnix --fail .
statix check