forked from mirrors/nixpkgs
c787cb1a0a
svn path=/nixos/branches/fix-style/; revision=13674
37 lines
645 B
Nix
37 lines
645 B
Nix
# This file defines functions to handle upstart-jobs.
|
|
{pkgs, config, ...}:
|
|
|
|
let
|
|
inherit (pkgs.lib) filter findSingle;
|
|
jobs = config.services.extraJobs;
|
|
|
|
primaryEvents = [
|
|
"startup"
|
|
"shutdown"
|
|
"never"
|
|
];
|
|
|
|
upstartJobsTools = rec {
|
|
exists = name:
|
|
let
|
|
found = filter
|
|
(j: j ? name && j.name == name)
|
|
(jobs ++ map (name: {inherit name;}) primaryEvents);
|
|
in found != [];
|
|
|
|
check = name:
|
|
if exists name then
|
|
name
|
|
else
|
|
abort "Undefined upstart job name: ${name}.";
|
|
};
|
|
in
|
|
|
|
{
|
|
services = {
|
|
tools = {
|
|
upstartJobs = upstartJobsTools;
|
|
};
|
|
};
|
|
}
|