liminix/pkgs/service-fns/default.nix

33 lines
670 B
Nix
Raw Normal View History

{ writeText }:
2023-03-03 22:20:59 +00:00
writeText "service-fns.sh" ''
output() { cat $1/.outputs/$2; }
2024-06-20 09:15:54 +00:00
output_word() {
set -f
local i=1
for var in $(cat $1/.outputs/$2); do
if test "$i" == "$3" ; then
echo $var
fi
i=$(expr $i + 1)
done
set +f
}
2023-03-03 22:20:59 +00:00
output_path() { echo $(realpath $1/.outputs)/$2; }
SERVICE_OUTPUTS=/run/services/outputs
SERVICE_STATE=/run/services/state
2023-03-03 22:20:59 +00:00
mkoutputs() {
d=$SERVICE_OUTPUTS/$1
mkdir -m 2751 -p $d && chown root:system $d
echo $d
}
mkstate() {
d=$SERVICE_STATE/$1
mkdir -m 2751 -p $d && chown root:system $d
2023-03-03 22:20:59 +00:00
echo $d
}
in_outputs() {
cd `mkoutputs $1` && umask 0027
}
2023-03-03 22:20:59 +00:00
''