make s6-rc-database a package
This commit is contained in:
parent
cd5afb22e7
commit
c6c6b51893
4 changed files with 44 additions and 31 deletions
31
pkgs/s6-rc-database/default.nix
Normal file
31
pkgs/s6-rc-database/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
# generate s6-rc database, by generating closure of all
|
||||
# config.services and calling s6-rc-compile on them
|
||||
|
||||
{
|
||||
stdenvNoCC
|
||||
, buildPackages
|
||||
, closureInfo
|
||||
, writeText
|
||||
, services ? []
|
||||
}:
|
||||
let closure-info = closureInfo { rootPaths = services; };
|
||||
in stdenvNoCC.mkDerivation {
|
||||
name = "s6-rc-database";
|
||||
nativeBuildInputs = [buildPackages.s6-rc];
|
||||
builder = writeText "find-s6-services" ''
|
||||
source $stdenv/setup
|
||||
mkdir -p $out
|
||||
srcs=""
|
||||
shopt -s nullglob
|
||||
for i in $(cat ${closure-info}/store-paths ); do
|
||||
if test -d $i; then
|
||||
for j in $i/* ; do
|
||||
if test -f $j/type ; then
|
||||
srcs="$srcs $i"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
s6-rc-compile $out/compiled $srcs
|
||||
'';
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue