
5分钟搞定Nix CI环境install-nix-action快速上手完整教程【免费下载链接】install-nix-actionInstalls Nix on GitHub Actions for the supported platforms: Linux and macOS.项目地址: https://gitcode.com/gh_mirrors/in/install-nix-actioninstall-nix-action是一款专为 GitHub Actions 打造的 Nix 一键安装工具支持 Linux 与 macOS 平台。它能让你在 CI 环境中几秒到二十秒内完成 Nix 配置默认开启沙箱、Flakes 等 CI 常用优化是构建 Nix 持续集成流水线的最佳起点。为什么需要 install-nix-action如果你用过 Nix一定有过这样的体验每次 CI 都要手动配置安装脚本、开启flakes、设置代理和沙箱……繁琐且容易出错。install-nix-action 把这些事情全部封装好了痛点它的解法官方安装脚本未针对 CI 优化默认写入show-trace、max-jobs auto等 CI 友好配置Flakes 需要手动开启实验特性默认启用nix-command与flakes从 GitHub 拉取仓库有限流自动携带GITHUB_TOKEN访问自托管 Runner 缺少 KVM 权限自动配置 udev 规则启用 KVM核心特性一览根据官方说明README.md该 Action 的主要特性包括⚡极速安装Linux 约 4 秒、macOS 约 20 秒Multi-User 安装仅 Linux 上启用沙箱️ 支持自托管 GitHub Runner 可通过install_url指定 Nix 版本最低支持 2.3.5 支持extra_nix_config追加任意 Nix 配置 可配合 cachix-action 共享/nix/store加速构建 在支持的机器上自动启用KVM 硬件加速可跑 NixOS 虚拟机测试所有输入参数都在 action.yml 中定义安装逻辑则由 install-nix.sh 完成——它会先检测是否已安装 Nix已存在则直接跳过保证流程幂等。一键安装步骤3 行代码接入 CI在仓库中创建.github/workflows/test.yml文件写入如下内容即可name: Test on: pull_request: push: jobs: tests: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - uses: cachix/install-nix-actionv27 with: nix_path: nixpkgschannel:nixos-unstable - run: nix-build✅ 保存推送后你的 CI 工作流就已具备完整的 Nix 环境——这就是5 分钟搞定的全部操作。 提示nix_path指定了nixos-unstable通道。你也可以自行锁定 nixpkgs 版本以获得更强的可复现性。Flakes 用户的最快配置方法如果你的项目使用 Nix Flakes只需额外传入github_access_token避免 GitHub 限流- uses: cachix/install-nix-actionv27 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - run: nix build - run: nix flake check因为 Flakes 实验特性默认已开启所以无需任何额外配置即可直接运行nix build和nix flake check。常用输入参数速查表参数作用示例值nix_path设置NIX_PATH环境变量与通道nixpkgschannel:nixos-unstablegithub_access_token配置 Nix 通过 token 拉取 GitHub 仓库${{ secrets.GITHUB_TOKEN }}install_url指定 Nix 安装地址可锁定版本Nix 2.3.7 发布页地址install_options追加安装脚本参数自定义标志位extra_nix_config追加写入/etc/nix/nix.conf二进制缓存、system-features 等enable_kvmLinux 上启用硬件加速虚拟化默认开启true/false进阶技巧让 Nix CI 更快更稳1️⃣ 添加二进制缓存加速构建通过extra_nix_config即可接入任意公开缓存install-nix.sh 会将其追加到nix.conf- uses: cachix/install-nix-actionv27 with: extra_nix_config: | trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY substituters https://cache.nixos.org/2️⃣ 运行 NixOS 虚拟机测试开启 KVM 并声明系统特性即可获得硬件加速的虚拟机测试能力- uses: cachix/install-nix-actionv27 with: enable_kvm: true extra_nix_config: system-features nixos-test benchmark big-parallel kvm3️⃣ 在nix develop中传递环境变量Nix 默认运行在纯模式pure mode环境变量的传递需用-k保留或用--impure关闭纯模式- name: Run a command with nix develop run: nix develop --ignore-environment --keep MY_ENV_VAR --command echo $MY_ENV_VAR env: MY_ENV_VAR: hello world常见问题解答❓ 如何查看当前配置的 nixpkgs 版本- name: Print nixpkgs version run: nix-instantiate --eval -E (import nixpkgs {}).lib.version❓ 如何从指定通道用 nix-env 安装包nix-env -i mypackage -f nixpkgs❓ 与默认 Nix 安装器有什么区别Action 会自动写入一批 CI 优化配置开启flakes/nix-command实验特性、max-jobs auto、show-trace true、将$USER加入trusted-users、允许从缓存替换构建产物以及在 macOS 上设置ssl-cert-file等。这些细节都实现在 install-nix.sh 中需要覆盖时可随时用extra_nix_config调整。小结 回顾一下本文的Nix CI快速上手要点在 workflow 中加入cachix/install-nix-action3 行配置完成安装用nix_path选择通道用github_access_token解决限流借助extra_nix_config接入二进制缓存进一步提速需要虚拟机测试时保持enable_kvm开启从 clone 仓库到跑通第一个 Nix 工作流全程不超过 5 分钟——现在就去试试吧【免费下载链接】install-nix-actionInstalls Nix on GitHub Actions for the supported platforms: Linux and macOS.项目地址: https://gitcode.com/gh_mirrors/in/install-nix-action创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考