forked from dan/liminix
25 lines
626 B
Nix
25 lines
626 B
Nix
{
|
|
liminix, lib, json-to-fstree, serviceFns
|
|
}:
|
|
{ name, url, interval, username, password } :
|
|
let
|
|
inherit (liminix.services) oneshot longrun;
|
|
inherit (lib) optionalString;
|
|
in longrun {
|
|
inherit name;
|
|
buildInputs = [ json-to-fstree ];
|
|
run = ''
|
|
. ${serviceFns}
|
|
${optionalString (username != null) ''
|
|
export NETRC=$(mkstate ${name})/netrc
|
|
(echo default ; echo login ${username} ; echo password ${password} ) > $NETRC
|
|
''}
|
|
( in_outputs ${name}
|
|
while : ; do
|
|
${json-to-fstree}/bin/json-to-fstree ${url} .
|
|
sleep ${builtins.toString (interval * 60)}
|
|
done
|
|
)
|
|
'';
|
|
}
|