You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从nix-shell -p创建的Nix环境导出default.nix文件?

如何获取可复用的default.nix以重建Nix环境

你的理解是正确的,nix-shell -p git确实等价于运行你提供的那种default.nix配置的nix-shell命令——两者都是基于Nixpkgs构建一个包含Git的临时环境,核心逻辑一致(用buildEnv打包指定依赖)。以下是几种获取可复用default.nix的方法:

方法1:提取Nix临时生成的配置

当你执行nix-shell -p git进入环境后,Nix会在临时目录生成对应的配置文件,你可以这样获取:

  • 在shell环境内执行 echo $NIX_BUILD_TOP,得到临时构建目录的路径
  • 进入该目录,找到default.nix文件,将其复制到你需要的目录即可

方法2:手动编写简化版配置

Nix提供了mkShell函数专门用于构建shell环境,比你写的stdenv.mkDerivation更简洁,功能完全一致,适合直接复用:

{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  buildInputs = [ pkgs.git ];
}

方法3:一键导出配置

直接运行以下命令,会自动将nix-shell -p git对应的配置导出到当前目录的default.nix:

nix-shell -p git --run 'cp $NIX_BUILD_TOP/default.nix .'

内容的提问来源于stack exchange,提问作者Pierre-olivier Gendraud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:01:22