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