1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-07 01:21:00 +01:00
nix/src/libstore/unix
Eelco Dolstra 584ef0ffd3 Add external builders
These are helper programs that execute derivations for specified
system types (e.g. using QEMU to emulate another system type).

To use, set `external-builders`:

  external-builders = [{"systems": ["aarch64-linux"], "program": "/path/to/external-builder.py"}]

The external builder gets one command line argument, the path to a JSON file containing all necessary information about the derivation:

  {
    "args": [...],
    "builder": "/nix/store/kwcyvgdg98n98hqapaz8sw92pc2s78x6-bash-5.2p37/bin/bash",
    "env": {
      "HOME": "/homeless-shelter",
      ...
    },
    "realStoreDir": "/tmp/nix/nix/store",
    "storeDir": "/nix/store",
    "tmpDir": "/tmp/nix-shell.dzQ2hE/nix-build-patchelf-0.14.3.drv-46/build",
    "tmpDirInSandbox": "/build"
  }

Co-authored-by: Cole Helbling <cole.helbling@determinate.systems>
2025-10-03 14:34:13 +02:00
..
build Add external builders 2025-10-03 14:34:13 +02:00
include/nix/store Move machineName from DerivationBuildingGoal to HookInstance 2025-09-03 17:03:56 -04:00
meson.build Get rid of LocalDerivationGoal 2025-04-20 18:09:41 -04:00
pathlocks.cc Apply clang-format universally. 2025-07-18 12:47:27 -04:00
user-lock.cc Apply clang-format universally. 2025-07-18 12:47:27 -04:00