SuperAPI AI 工具集

nix

测试与质量

查看项目

更新于 10-15 23:46

技能介绍

用途:Nix 是包管理器与函数式语言,用于构建可复现的环境,可在不永久安装的情况下临时运行工具。

主要能力:临时运行 nixpkgs 中的包,例如 nix run nixpkgs#cowsay -- "Hello!" 或 nix run nixpkgs#hello;对长时间运行的服务可用 tmux 包裹,如 tmux new -d 'nix run nixpkgs#some-server'。创建带特定工具的临时 shell,例如 nix shell nixpkgs#git nixpkgs#vim --command git --version。求值与检查表达式,例如 nix eval --expr '1 + 2'、nix eval nixpkgs#hello.name、nix eval --file ./default.nix、nix eval --expr 'builtins.attrNames (import <nixpkgs> {})'。按名称或描述搜索包,例如 nix search nixpkgs python3。格式化 Nix 文件,例如 nix fmt 或 nix fmt -- --check。

使用方式:支持 shebang 脚本,将 Nix 作为脚本解释器,例如 #!/usr/bin/env nix 配合 #! nix shell nixpkgs#bash nixpkgs#curl --command bash。调试时可用 nix log <derivation> 查看损坏构建,用 nix why-depends 追踪依赖链,缓存有问题时加 --no-substitute 强制本地构建。

限制:不要用 nix-prefetch-url、nix hash(file、path、convert 等)或 nix-hash 预先计算哈希,这些命令被阻止。应在 fetchSource 中把 hash 设为 "",让构建失败并报告正确的 got: 哈希,例如 fetchFromGitHub 中设置 hash = ""。

适用场景:临时执行工具、隔离环境、调试构建与检查 Nix 表达式。其他细节暂未提供。