1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6
7 cfg = config.services.phd;
8
9in
10
11{
12
13 ###### interface
14
15 options = {
16
17 services.phd = {
18
19 enable = mkOption {
20 default = false;
21 description = "
22 Enable daemons for phabricator.
23 ";
24 };
25
26 };
27
28 };
29
30 ###### implementation
31
32 config = mkIf cfg.enable {
33
34 systemd.services.phd = {
35 path = [ pkgs.phabricator pkgs.php pkgs.mercurial pkgs.git pkgs.subversion ];
36
37 after = [ "httpd.service" ];
38 wantedBy = [ "multi-user.target" ];
39
40 serviceConfig = {
41 ExecStart = "${pkgs.phabricator}/phabricator/bin/phd start";
42 ExecStop = "${pkgs.phabricator}/phabricator/bin/phd stop";
43 User = "wwwrun";
44 RestartSec = "30s";
45 Restart = "always";
46 StartLimitInterval = "1m";
47 };
48 };
49
50 };
51
52}