diff options
author | Profpatsch <mail@profpatsch.de> | 2020-06-28T02·52+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-06-30T00·19+0000 |
commit | 2f21e0c8c0b47dcf1b29c38a32838f48bd873c0b (patch) | |
tree | 885b671e4c9f5ee887700130dc4bfba9926dab49 /nix/writeScript/default.nix | |
parent | 4402c363b6137112716e82b93e946634aefbb600 (diff) |
refactor(nix): use our own writeScript(Bin) r/1133
We have this nice `runExecline` now, so we don’t need to use `runCommand` (which spawns bash) just to write a simple script. Change-Id: I2941ed8c1448fa1d7cc02dc18b24a8a945b2c38b Reviewed-on: https://cl.tvl.fyi/c/depot/+/704 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: BuildkiteCI
Diffstat (limited to 'nix/writeScript/default.nix')
-rw-r--r-- | nix/writeScript/default.nix | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/nix/writeScript/default.nix b/nix/writeScript/default.nix new file mode 100644 index 000000000000..e8e6e0fa10ac --- /dev/null +++ b/nix/writeScript/default.nix @@ -0,0 +1,29 @@ +{ pkgs, depot, ... }: + +# Write the given string to $out +# and make it executable. + +let + bins = depot.nix.getBins pkgs.s6-portable-utils [ + "s6-cat" + "s6-chmod" + ]; + +in +name: +# string of the executable script that is put in $out +script: + +depot.nix.runExecline name { + stdin = script; + derivationArgs = { + preferLocalBuild = true; + allowSubstitutes = false; + }; +} [ + "importas" "out" "out" + # this pipes stdout of s6-cat to $out + # and s6-cat redirects from stdin to stdout + "if" [ "redirfd" "-w" "1" "$out" bins.s6-cat ] + bins.s6-chmod "0755" "$out" +] |