]>
Commit | Line | Data |
---|---|---|
1 | { lib, pkgs, config, mylibs, ... }: | |
2 | let | |
3 | mantisbt = pkgs.callPackage ./mantisbt/mantisbt.nix { inherit (mylibs) checkEnv fetchedGithub; }; | |
4 | gitweb = pkgs.callPackage ./gitweb/gitweb.nix { gitoliteDir = config.services.myGitolite.gitoliteDir; }; | |
5 | ||
6 | cfg = config.services.myWebsites.tools.git; | |
7 | in { | |
8 | options.services.myWebsites.tools.git = { | |
9 | enable = lib.mkEnableOption "enable git's website"; | |
10 | }; | |
11 | ||
12 | config = lib.mkIf cfg.enable { | |
13 | security.acme.certs."eldiron".extraDomains."git.immae.eu" = null; | |
14 | ||
15 | nixpkgs.config.packageOverrides = oldpkgs: rec { | |
16 | gitweb = oldpkgs.gitweb.overrideAttrs(old: { | |
17 | installPhase = old.installPhase + '' | |
18 | cp -r ${./gitweb/theme} $out/gitweb-theme; | |
19 | ''; | |
20 | }); | |
21 | }; | |
22 | ||
23 | services.myWebsites.tools.modules = | |
24 | gitweb.apache.modules ++ | |
25 | mantisbt.apache.modules; | |
26 | ||
27 | services.myWebsites.tools.vhostConfs.git = { | |
28 | certName = "eldiron"; | |
29 | hosts = ["git.immae.eu" ]; | |
30 | root = gitweb.webRoot; | |
31 | extraConfig = [ | |
32 | gitweb.apache.vhostConf | |
33 | mantisbt.apache.vhostConf | |
34 | '' | |
35 | RewriteEngine on | |
36 | RewriteCond %{REQUEST_URI} ^/releases | |
37 | RewriteRule /releases(.*) https://release.immae.eu$1 [P,L] | |
38 | '' | |
39 | ]; | |
40 | }; | |
41 | services.myPhpfpm.poolConfigs = { | |
42 | mantisbt = mantisbt.phpFpm.pool; | |
43 | }; | |
44 | }; | |
45 | } |