forked from mirrors/nixpkgs
e7e685e4ce
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
37 lines
1 KiB
Nix
37 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 [];
|
|
}
|