]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - nixops/modules/websites/tellesflorian/default.nix
Move secrets module outside of nixops
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tellesflorian / default.nix
1 { lib, pkgs, config, myconfig, mylibs, ... }:
2 let
3 adminer = pkgs.callPackage ../commons/adminer.nix {};
4
5 tellesflorian = pkgs.callPackage ./tellesflorian.nix { inherit (mylibs) fetchedGitPrivate; };
6 tellesflorian_dev = tellesflorian {
7 config = myconfig.env.websites.tellesflorian.integration;
8 };
9
10 cfg = config.services.myWebsites.TellesFlorian;
11 in {
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 {
19 secrets.keys = tellesflorian_dev.keys;
20 security.acme.certs."eldiron".extraDomains."app.tellesflorian.com" = null;
21 services.myPhpfpm.preStart.tellesflorian_dev = tellesflorian_dev.phpFpm.preStart;
22 services.myPhpfpm.serviceDependencies.tellesflorian_dev = tellesflorian_dev.phpFpm.serviceDeps;
23 services.myPhpfpm.poolConfigs.tellesflorian_dev = tellesflorian_dev.phpFpm.pool;
24 system.activationScripts.tellesflorian_dev = tellesflorian_dev.activationScript;
25 system.extraSystemBuilderCmds = ''
26 mkdir -p $out/webapps
27 ln -s ${tellesflorian_dev.webRoot} $out/webapps/${tellesflorian_dev.apache.webappName}
28 '';
29 services.myWebsites.integration.modules = adminer.apache.modules ++ tellesflorian_dev.apache.modules;
30 services.myWebsites.integration.vhostConfs.tellesflorian = {
31 certName = "eldiron";
32 hosts = ["app.tellesflorian.com" ];
33 root = tellesflorian_dev.apache.root;
34 extraConfig = [
35 tellesflorian_dev.apache.vhostConf
36 adminer.apache.vhostConf
37 ];
38 };
39 };
40 }