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
This commit is contained in:
parent
4402c363b6
commit
2f21e0c8c0
8 changed files with 46 additions and 25 deletions
29
nix/writeScript/default.nix
Normal file
29
nix/writeScript/default.nix
Normal file
|
|
@ -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"
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue