mightyiam/infra · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

mightyiam/infra
mightyiam 的 Nix 驱动的“IT 基础设施”仓库
[!NOTE] 希望这对您有所帮助。 如果您有任何问题或建议,欢迎使用讨论功能或直接联系我。
树状结构的起源
该仓库遵循 树状结构 ,恰好也是其创建者发现该结构的地方。
自动导入
Nix 文件(它们均为 flake-parts 模块)会自动被导入。 以下划线开头的 Nix 文件会被忽略。 不会使用字面路径导入。 这意味着文件可以自由地移动和嵌套在目录中。
[!NOTE] 这种结构启发了 一个自动导入库 import-tree 的诞生。
生成的文件
该仓库中的以下文件是使用 files flake-parts 模块生成并校验的:
.gitignoreLICENSEREADME.md
代码重构
为帮助判断 Nix 的更改是否会导致派生包的变更,
某个包.#all-check-store-paths会生成一个 TOML 文件,用于将.#checks映射到:
default-shell = "/nix/store/9nx7s96vwz2h384zm8las332cbkqdszf-nix-shell"
"nixosConfigurations/termitomyces" = "/nix/store/33iv0fagxiwfbzb81ixypn14vxl6s468-nixos-system-termitomyces-25.05.20250417.ebe4301"
"packages/nixvim" = "/nix/store/p2rrqir5ig2v4wb3whvb8y0fmdc0kmhk-nixvim"
[!NOTE] 已在
modules/repository/all-check-store-paths.nix中实现。
尝试禁止警告信息
位于 flake.nix 文件的顶层:
nixConfig.abort-on-warn = true;
[!NOTE] 目前它还无法捕获 Nix 能产生的所有警告,可能仅能捕获评估警告。