nixpkgs/upstart-jobs/lib/default.nix
Nicolas Pierron c787cb1a0a Replace job tags by a library of function to build upstart jobs.
svn path=/nixos/branches/fix-style/; revision=13674
2009-01-02 16:06:41 +00:00

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;
};
};
}