tvl-depot/nix/writeScript/default.nix
Profpatsch 2f21e0c8c0 refactor(nix): use our own writeScript(Bin)
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
2020-06-30 00:19:27 +00:00

29 lines
594 B
Nix

{ 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"
]