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

Sci-fi looking server room

mightyiam/infra

mightyiam 的 Nix 驱动的“IT 基础设施”仓库

[!NOTE] 希望这对您有所帮助。 如果您有任何问题或建议,欢迎使用讨论功能或直接联系我。

树状结构的起源

该仓库遵循 树状结构 ,恰好也是其创建者发现该结构的地方。

自动导入

Nix 文件(它们均为 flake-parts 模块)会自动被导入。 以下划线开头的 Nix 文件会被忽略。 不会使用字面路径导入。 这意味着文件可以自由地移动和嵌套在目录中。

[!NOTE] 这种结构启发了 一个自动导入库 import-tree 的诞生。

生成的文件

该仓库中的以下文件是使用 files flake-parts 模块生成并校验的:

  • .gitignore
  • LICENSE
  • README.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 能产生的所有警告,可能仅能捕获评估警告。