使用 Nix 生成 YAML 文件 —— kokada

主要观点:作者讨厌 YAML,更倾向于 JSON、TOML 或 INI 文件,在个人项目中不会使用 YAML,但由于很多项目已在使用 YAML,所以介绍了用 Nix 生成 YAML 配置文件的方法。
关键信息:

  • Nix 可生成 JSON,可将 Nix 代码转换为 JSON 后用 yj 等工具转换为 YAML。
  • 通过创建 flake.nix 文件,使用 nixpkgs 中的工具和函数,可将其他语言的配置文件转换为 YAML 并进行验证。
  • 示例展示了将 GitHub Actions 的 go.yml 文件转换为 Nix 后再转换为 YAML,并添加了 action-validator 进行验证。
    重要细节:
  • 在 Nix 中with是保留字,需引号括起来,GitHub Actions 模板字符串中的${}与 Nix 相同需转义。
  • Nix 不保证映射/字典/属性集等的插入顺序。
  • action-validator的输出很 verbose,但能避免一些错误。若想了解更优势的用法可查看作者的nix-config仓库中的actions目录。
阅读 8
0 条评论