1{ config, pkgs, lib, ... }:
2
3let
4 cfg = config.programs.oddjobd;
5in
6{
7 options = {
8 programs.oddjobd = {
9 enable = lib.mkEnableOption "oddjob, a D-Bus service which runs odd jobs on behalf of client applications";
10 package = lib.mkPackageOption pkgs "oddjob" {};
11 };
12 };
13
14 config = lib.mkIf cfg.enable {
15 systemd.services.oddjobd = {
16 wantedBy = [ "multi-user.target" ];
17 after = [ "network.target" "dbus.service" ];
18 description = "DBUS Odd-job Daemon";
19 enable = true;
20 documentation = [ "man:oddjobd(8)" "man:oddjobd.conf(5)" ];
21 serviceConfig = {
22 Type = "simple";
23 PIDFile = "/run/oddjobd.pid";
24 ExecStart = "${lib.getBin cfg.package}/bin/oddjobd -n -p /run/oddjobd.pid -t 300";
25 };
26 };
27
28 services.dbus.packages = [ cfg.package ];
29 };
30
31 meta.maintainers = with lib.maintainers; [ SohamG ];
32}