nixpkgs/upstart-jobs/make-job.nix
Eelco Dolstra e7e685e4ce * Allow Upstart jobs to declare extra configuration for Apache.
Did this for Nagios.  Soon we can rename upstart-jobs to 
  services/plugins/whatever (i.e. an Upstart job will just be 
  one kind of configuration item that a plugin can declare).

svn path=/nixos/trunk/; revision=9778
2007-11-23 10:56:12 +00:00

36 lines
1 KiB
Nix

{runCommand}: job:
(
if job ? jobDrv then
job.jobDrv
else
(
runCommand ("upstart-" + job.name)
{ inherit (job) job;
jobName = job.name;
buildHook = if job ? buildHook then job.buildHook else "true";
}
"eval \"$buildHook\"; ensureDir $out/etc/event.d; echo \"$job\" > $out/etc/event.d/$jobName"
)
)
//
{
# Allow jobs to declare extra packages that should be added to the
# system path.
extraPath = if job ? extraPath then job.extraPath else [];
# Allow jobs to declare extra files that should be added to /etc.
extraEtc = if job ? extraEtc then job.extraEtc else [];
# Allow jobs to declare extra configuration for Apache (e.g. Nagios
# declaring its web interface).
extraHttpdConfig = if job ? extraHttpdConfig then job.extraHttpdConfig else "";
# Allow jobs to declare user accounts that should be created.
users = if job ? users then job.users else [];
# Allow jobs to declare groups that should be created.
groups = if job ? groups then job.groups else [];
}