]>
Commit | Line | Data |
---|---|---|
9d90e7e2 | 1 | { lib, pkgs, config, myconfig, mylibs, ... }: |
10889174 IB |
2 | let |
3 | adminer = pkgs.callPackage ../../commons/adminer.nix {}; | |
bfe3c9c9 IB |
4 | ympd = pkgs.callPackage ./ympd.nix { |
5 | env = myconfig.env.tools.ympd; | |
6 | }; | |
9d90e7e2 IB |
7 | ttrss = pkgs.callPackage ./ttrss.nix { |
8 | inherit (mylibs) fetchedGithub fetchedGit; | |
9 | env = myconfig.env.tools.ttrss; | |
10 | }; | |
11 | roundcubemail = pkgs.callPackage ./roundcubemail.nix { env = myconfig.env.tools.roundcubemail; }; | |
12 | wallabag = pkgs.callPackage ./wallabag.nix { env = myconfig.env.tools.wallabag; }; | |
133ebaee IB |
13 | yourls = pkgs.callPackage ./yourls.nix { |
14 | inherit (mylibs) fetchedGithub; | |
15 | env = myconfig.env.tools.yourls; | |
16 | }; | |
bfe3c9c9 IB |
17 | rompr = pkgs.callPackage ./rompr.nix { |
18 | inherit (mylibs) fetchedGithub; | |
19 | env = myconfig.env.tools.rompr; | |
20 | }; | |
10889174 IB |
21 | |
22 | cfg = config.services.myWebsites.tools.tools; | |
23 | in { | |
24 | options.services.myWebsites.tools.tools = { | |
25 | enable = lib.mkEnableOption "enable tools website"; | |
26 | }; | |
27 | ||
28 | config = lib.mkIf cfg.enable { | |
29 | security.acme.certs."eldiron".extraDomains."tools.immae.eu" = null; | |
30 | ||
31 | services.myWebsites.tools.modules = | |
32 | adminer.apache.modules | |
33 | ++ ympd.apache.modules | |
34 | ++ ttrss.apache.modules | |
aebd817b | 35 | ++ roundcubemail.apache.modules |
133ebaee | 36 | ++ wallabag.apache.modules |
bfe3c9c9 IB |
37 | ++ yourls.apache.modules |
38 | ++ rompr.apache.modules; | |
10889174 | 39 | |
bfe3c9c9 | 40 | services.ympd = ympd.config // { enable = true; }; |
10889174 IB |
41 | |
42 | services.myWebsites.tools.vhostConfs.tools = { | |
43 | certName = "eldiron"; | |
44 | hosts = ["tools.immae.eu" ]; | |
45 | root = null; | |
46 | extraConfig = [ | |
47 | adminer.apache.vhostConf | |
48 | ympd.apache.vhostConf | |
49 | ttrss.apache.vhostConf | |
50 | roundcubemail.apache.vhostConf | |
aebd817b | 51 | wallabag.apache.vhostConf |
133ebaee | 52 | yourls.apache.vhostConf |
bfe3c9c9 | 53 | rompr.apache.vhostConf |
10889174 IB |
54 | ]; |
55 | }; | |
56 | ||
57 | services.myPhpfpm.poolConfigs = { | |
58 | adminer = adminer.phpFpm.pool; | |
59 | ttrss = ttrss.phpFpm.pool; | |
60 | roundcubemail = roundcubemail.phpFpm.pool; | |
aebd817b | 61 | wallabag = wallabag.phpFpm.pool; |
133ebaee | 62 | yourls = yourls.phpFpm.pool; |
bfe3c9c9 | 63 | rompr = rompr.phpFpm.pool; |
10889174 IB |
64 | }; |
65 | ||
66 | system.activationScripts = { | |
67 | ttrss = ttrss.activationScript; | |
68 | roundcubemail = roundcubemail.activationScript; | |
aebd817b | 69 | wallabag = wallabag.activationScript; |
133ebaee | 70 | yourls = yourls.activationScript; |
bfe3c9c9 | 71 | rompr = rompr.activationScript; |
10889174 IB |
72 | }; |
73 | ||
74 | systemd.services.tt-rss = { | |
75 | description = "Tiny Tiny RSS feeds update daemon"; | |
76 | serviceConfig = { | |
77 | User = "wwwrun"; | |
78 | ExecStart = "${pkgs.php}/bin/php ${ttrss.webRoot}/update.php --daemon"; | |
79 | StandardOutput = "syslog"; | |
80 | StandardError = "syslog"; | |
81 | PermissionsStartOnly = true; | |
82 | }; | |
83 | ||
84 | wantedBy = [ "multi-user.target" ]; | |
85 | requires = ["postgresql.service"]; | |
86 | after = ["network.target" "postgresql.service"]; | |
87 | }; | |
88 | ||
89 | }; | |
90 | } | |
91 |