default.nix (732B)
1 # generate s6-rc database, by generating closure of all 2 # config.services and calling s6-rc-compile on them 3 4 { 5 stdenvNoCC 6 , buildPackages 7 , closureInfo 8 , writeText 9 , services ? [] 10 }: 11 let closure-info = closureInfo { rootPaths = services; }; 12 in stdenvNoCC.mkDerivation { 13 name = "s6-rc-database"; 14 nativeBuildInputs = [buildPackages.s6-rc]; 15 builder = writeText "find-s6-services" '' 16 source $stdenv/setup 17 mkdir -p $out 18 srcs="" 19 shopt -s nullglob 20 for i in $(cat ${closure-info}/store-paths ); do 21 if test -d $i; then 22 for j in $i/* ; do 23 if test -f $j/type ; then 24 srcs="$srcs $i" 25 fi 26 done 27 fi 28 done 29 s6-rc-compile $out/compiled $srcs 30 ''; 31 }