参考文档

CLI

update、status、名称与正则选择,以及全局运行配置参数。
nix-pins [OPTIONS] [COMMAND]
nix-pins update [PIN ...] [--filter REGEX]
nix-pins status [PIN ...] [--filter REGEX]

命令

命令行为
update检查版本,计算选中 Pin 的源码与依赖哈希,写入 Pins File
status只读报告选中 Pin 的已有结果与失败信息
不提供命令等同于 status,选择全部 Pin
help、--help显示帮助
--version显示 CLI 版本

全局选项

选项默认值含义
--config PATH./pins-config.nixNix Pin 声明文件
--pins PATH./pins.json读取与写入的 Pins File
--checker-jobs NCPU 数除以 2,至少 1版本检查并发数
--download-jobs N2下载并发数
--hash-jobs NCPU 数除以 2,至少 1Nix 求值与构建并发数
--github-api-base URLhttps://api.github.comGitHub API 地址
--crates-api-base URLhttps://crates.iocrates.io API 地址
--pypi-api-base URLhttps://pypi.orgPyPI API 地址
--npm-registry-base URLhttps://registry.npmjs.orgnpm registry 地址
--github-token TOKEN未设置GitHub API 凭证

所有全局参数均可放在子命令之前或之后。相对路径按当前工作目录解析。每个配置参数也有对应环境变量,--help 展示变量名与默认值说明;完整优先级见运行配置。

nix-pins --config project/pins-config.nix update --pins project/pins.json

选择条件

PIN 是配置中的名称,可以提供多个;--filter 是作用于 Pin 名的 Rust 正则表达式。二者取并集,均未提供时选择全部 Pin。未知名称、无效正则,以及仅有正则却零匹配的情况都会报错。

nix-pins update editor --filter '^language-'

选择对象是 Pin,不是 Source 或 Package。完整行为见更新与选择。

自动化

使用退出码判断操作是否成功,勿根据 TUI 图标或输出行数推断。运行失败时查看 status 和 Pins File 中的 failure。配置文件可以执行外部命令,应只运行可信配置。

当前没有单独的 add、remove、init 或 status --refresh 命令。添加 Pin 通过编辑声明后执行 update;删除 Pin 后执行一次全部更新。