]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - nixops/modules/websites/tellesflorian/default.nix
Add certificate creation and handling to websites
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tellesflorian / default.nix
CommitLineData
8a964143 1{ lib, pkgs, config, myconfig, ... }:
2f0f1c48 2let
c890321d 3 adminer = pkgs.callPackage ../commons/adminer.nix {};
2f0f1c48 4
c890321d 5 tellesflorian_dev = pkgs.callPackage ./tellesflorian.nix {
8f904d0d 6 inherit (pkgs.webapps) tellesflorian;
c890321d
IB
7 config = myconfig.env.websites.tellesflorian.integration;
8 };
2f0f1c48 9
c890321d 10 cfg = config.services.myWebsites.TellesFlorian;
2f0f1c48
IB
11in {
12 options.services.myWebsites.TellesFlorian = {
13 integration = {
14 enable = lib.mkEnableOption "enable Florian Telles's website in integration";
15 };
16 };
17
18 config = lib.mkIf cfg.integration.enable {
1a718805 19 secrets.keys = tellesflorian_dev.keys;
8eded9ec 20 services.myPhpfpm.preStart.tellesflorian_dev = tellesflorian_dev.phpFpm.preStart;
a0c845b4 21 services.myPhpfpm.serviceDependencies.tellesflorian_dev = tellesflorian_dev.phpFpm.serviceDeps;
2f0f1c48
IB
22 services.myPhpfpm.poolConfigs.tellesflorian_dev = tellesflorian_dev.phpFpm.pool;
23 system.activationScripts.tellesflorian_dev = tellesflorian_dev.activationScript;
e5073add
IB
24 system.extraSystemBuilderCmds = ''
25 mkdir -p $out/webapps
c890321d 26 ln -s ${tellesflorian_dev.app.webRoot} $out/webapps/${tellesflorian_dev.apache.webappName}
e5073add 27 '';
daf64e3f
IB
28 services.websites.integration.modules = adminer.apache.modules ++ tellesflorian_dev.apache.modules;
29 services.websites.integration.vhostConfs.tellesflorian = {
2f0f1c48 30 certName = "eldiron";
7df420c2 31 addToCerts = true;
2f0f1c48 32 hosts = ["app.tellesflorian.com" ];
e5073add 33 root = tellesflorian_dev.apache.root;
2f0f1c48
IB
34 extraConfig = [
35 tellesflorian_dev.apache.vhostConf
36 adminer.apache.vhostConf
37 ];
38 };
39 };
40}