diff options
author | Profpatsch <mail@profpatsch.de> | 2020-06-28T01·14+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-06-29T22·58+0000 |
commit | 4402c363b6137112716e82b93e946634aefbb600 (patch) | |
tree | 46f37c17c659f264dff2350b976febe27d2327b0 /nix/runExecline/default.nix | |
parent | 7a6a007302c0a2dcffcd606c82d6d3195952ed17 (diff) |
feat(nix/runExecline): add runExecline r/1132
runExecline is a primitive that just does not care. It’s similar to `runCommand`, but instead of concatenating bash scripts left and right, it actually *uses* the features of `derivation`, passing things to `args` and making it possible to overwrite the `builder` in a sensible manner. Additionally, it provides a way to pass a nix string to `stdin` of the build script. Similar to `writeExecline`, the passed script is not a string, but a nested list of nix lists representing execline blocks. Escaping is done by the implementation, the user can just use normal nix strings. Change-Id: I890d9e5d921207751cdc8cc4309381395d92742f Reviewed-on: https://cl.tvl.fyi/c/depot/+/701 Reviewed-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
Diffstat (limited to 'nix/runExecline/default.nix')
-rw-r--r-- | nix/runExecline/default.nix | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/nix/runExecline/default.nix b/nix/runExecline/default.nix new file mode 100644 index 000000000000..0b87b1366d27 --- /dev/null +++ b/nix/runExecline/default.nix @@ -0,0 +1,19 @@ +{ depot, pkgs, lib, ... }: +let + runExecline = import ./runExecline.nix { + inherit (pkgs) stdenv; + inherit (depot.nix) escapeExecline getBins; + inherit pkgs lib; + }; + + tests = import ./tests.nix { + inherit runExecline; + inherit (depot.nix) getBins; + inherit (pkgs) stdenv coreutils; + inherit pkgs; + }; + +in { + __functor = _: runExecline; + inherit tests; +} |