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
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			594 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			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"
 | 
						|
]
 |