构建 Nix 项目

本指南涵盖的内容 #

本指南涵盖了 Nix 项目的构建环境和配置主题。请确保首先阅读我们的 教程通用构建配置 指南。

社区支持警告 #

Travis CI 对 Nix 的支持由社区贡献,并且可能会随时删除或更改。如果您遇到任何问题,请在 Travis CI 问题跟踪器 中报告,并 cc @garbas@matthewbauer@grahamc

概述 #

要安装 Nix 存储库并设置基本单用户配置文件,请在 .travis.yml 中将 language 键设置为 nix

language: nix

nixpkgs 的默认通道将是 nixpkgs-unstable

提供的工具 #

Nix 环境中提供以下命令行工具

  • nix
  • nix-build
  • nix-channel
  • nix-collect-garbage
  • nix-copy-closure
  • nix-daemon
  • nix-env
  • nix-instantiate
  • nix-prefetch-url
  • nix-shell
  • nix-store

默认 Nix 版本 #

这将使用 https://nixos.org/releases/nix/nix-2.3.6/install 安装 Nix 2.3.6。您可以使用 .travis.yml 中的 nix: 键指定其他版本的 Nix 安装程序。

language: nix
nix: 2.3.6

注意:此选项支持所有 Nix 版本,从版本 1.11.16 开始。

默认目标 #

默认构建脚本是 nix-build,它将构建存储库根目录中 default.nix 文件中的所有内容。这可以通过在 .travis.yml 文件中设置 script 键来覆盖。例如,

language: nix
script: nix-build -A tarball release.nix

上面的配置将尝试从 release.nix 中的 Nix 表达式构建“tarball”属性。

Nix 手册 #

有关编写 Nix 表达式以及上述每个工具如何工作的更多信息,请参阅 Nix 手册

构建配置参考 #

您可以在我们的 Travis CI 构建配置参考 中找到有关 Nix 的构建配置格式的更多信息。