nix-fast-build command reference. Parallel Nix evaluation and build tool using nix-eval-jobs. Use when running or configuring nix-fast-build.
From nix-tasukenpx claudepluginhub ncaq/konoka --plugin nix-tasukeThis skill uses the workspace's default tool permissions.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Mic92/nix-fast-buildは nix-eval-jobsと nix-output-monitorを組み合わせて、 Nix式の評価を並列実行するツールです。
checksがビルドされるため、 適切にflake.nixで設定されていればリント・ビルド・テストが全て実行されます。
nix flake checkと比べて評価が並列化されるため高速です。
FlakeはGitで追跡されているファイルのみを対象とするため、
新規ファイルがある場合は事前にgit ls-files --others --exclude-standard -z | git add --intent-to-add --pathspec-from-file=- --pathspec-file-nulを実行してください。
未追跡ファイルがなく空の入力でもエラーにはなりません。
nix-fast-build --option eval-cache false --no-link --skip-cached
nomによるリッチな出力が表示されます。
nix-fast-build --option eval-cache false --no-link --skip-cached --no-nom
nomはターミナル制御シーケンスに依存するため、
非対話環境では--no-nomを追加してください。
nix-fast-buildは--systemsでビルド対象を絞っても、
評価は全アーキテクチャに対して行います。
IFD(Import From Derivation)は評価フェーズでderivationのビルドを要求するため、
ローカルでビルドできないアーキテクチャのIFDが走ってエラーになることがあります。
nix flake checkはNix 2.16以降デフォルトで他システムの評価をスキップするためこの問題が出にくいですが、
nix-eval-jobsにはその仕組みがありません。
評価対象を現在のシステムに限定することで回避できます。
nix-fast-build --flake ".#checks.$(nix eval --raw --impure --expr builtins.currentSystem)" --no-link --skip-cached
--impureが必要ですが、
builtins.currentSystemを取得するだけなので実害はありません。
nix-fast-build --helpの順番に記載しています。
-f, --flake FLAKE評価・ビルド対象のFlake URLを指定します。
デフォルトは.#checksで、通常はそのままで問題ありません。
-j, --max-jobs MAX_JOBS同時に実行するビルドジョブの最大数です。 0を指定すると無制限になります。 基本的にデフォルトで問題ありません。
これはNixデーモンのmax-jobsとは別の制御です。
nix-fast-buildがビルドキューから同時にディスパッチするジョブ数を制限します。
--option name valueNixの設定オプションを指定します。
nix build --optionと同じ形式です。
--option eval-cache falseよく使う例です。 評価キャッシュを無効化します。
評価キャッシュはSQLiteで管理されており、 並列評価時にビジー状態の警告が出ることがあります。 煩わしい場合は無効化してください。
--remote-ssh-option name valueリモートマシンへのSSH接続オプションを指定します。
--cachix-cache CACHIX_CACHEアップロード先のCachixキャッシュ名を指定します。
--attic-cache ATTIC_CACHEアップロード先のAtticキャッシュ名を指定します。
--no-nomnom によるビルド出力の表示を無効化します。 デフォルトはfalse(nomを使用する)です。
nomはターミナルの制御シーケンスを使ったリッチな出力を行うため、 ターミナルではない環境(CIのログ、パイプ、非対話シェル等)では表示が崩れます。 そのような環境では指定してください。
--systems SYSTEMSビルド対象のシステムをスペース区切りで指定します。 デフォルトは現在のシステムで、通常はそのままで問題ありません。
例: --systems "x86_64-linux aarch64-linux"
--retries RETRIESビルド失敗時のリトライ回数です。 基本的にデフォルトで問題ありません。
--no-linkビルド後のresultシンボリックリンクを作成しません。
デフォルトはfalse(リンクを作成する)です。
checksのビルドでは大量のシンボリックリンクが作成されて煩わしいため、 指定することを推奨します。
名前から「リンクしない = ビルドしない」と誤解しないでください。 ビルドは実行され、出力リンクの作成だけがスキップされます。
--out-link OUT_LINK出力リンクの名前を指定します。
デフォルトはresultです。
基本的にデフォルトで問題ありません。
--remote REMOTEビルドを実行するリモートマシンのSSHホスト名です。 リモート側で評価とビルドを行い、結果をローカルに転送します。
--always-upload-sourceソースを常にリモートマシンにアップロードします。 デフォルトはfalse(アップロードしない)です。
リモートマシンがソースリポジトリにアクセスできない場合に必要です。
--no-downloadリモートビルドの結果をローカルにダウンロードしません。
CIでリモートビルドしてキャッシュにアップロードするだけの場合に使います。
--skip-cachedバイナリキャッシュに既に存在するビルドをスキップします。 デフォルトはfalse(スキップしない)です。
名前から「ローカルのストアにあればスキップ」と誤解されがちですが、 チェック対象はバイナリキャッシュ(substituter)です。 キャッシュに既にあるものを再ビルドしたくない場合に有用です。
--copy-to COPY_TOビルド結果を指定パスにコピーします。
nix copyに渡される形式で指定します。
例: --copy-to "file:///tmp/cache?compression=none"
--debugデバッグログを出力します。 基本的にデフォルトで問題ありません。
--eval-max-memory-size EVAL_MAX_MEMORY_SIZEnix-eval-jobsの評価ワーカー1つあたりのメモリ上限(MiB)です。
上限に達するとワーカーが再起動されます。
大きなFlakeで評価中にOOMが発生する場合に調整します。 基本的にデフォルトで問題ありません。
--eval-workers EVAL_WORKERS評価スレッドの数です。
nix-eval-jobsが生成する並列評価ワーカーの数を制御します。
基本的にデフォルトで問題ありません。
--result-file RESULT_FILEビルド結果を書き出すファイルパスです。
--result-format {json,junit}ビルド結果ファイルの形式です。
jsonまたはjunitを選択できます。
CIでテスト結果として扱いたい場合はjunitが便利です。
--override-input input_path flake_url特定のFlake入力をオーバーライドします。
nix build --override-inputと同じ形式です。
例: --override-input nixpkgs github:NixOS/nixpkgs/nixpkgs-unstable