]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/default.nix
Refactor websites
[perso/Immae/Config/Nix.git] / modules / private / default.nix
1 let
2 set = {
3 # adatped from nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
4 httpdInte = import ../websites/httpd-service-builder.nix { httpdName = "Inte"; withUsers = false; };
5 httpdProd = import ../websites/httpd-service-builder.nix { httpdName = "Prod"; withUsers = false; };
6 httpdTools = import ../websites/httpd-service-builder.nix { httpdName = "Tools"; withUsers = true; };
7
8 databases = ./databases;
9 mariadb = ./databases/mariadb.nix;
10 openldap = ./databases/openldap;
11 postgresql = ./databases/postgresql.nix;
12 redis = ./databases/redis.nix;
13 postgresqlReplication = ./databases/postgresql_replication.nix;
14 mariadbReplication = ./databases/mariadb_replication.nix;
15 redisReplication = ./databases/redis_replication.nix;
16 openldapReplication = ./databases/openldap_replication.nix;
17
18 websites = ./websites;
19
20
21 # Personal websites
22 capitainesLandingPages = ./websites/capitaines/landing_pages.nix;
23
24 chloeInte = ./websites/chloe/integration.nix;
25 chloeProd = ./websites/chloe/production.nix;
26
27 connexionswingInte = ./websites/connexionswing/integration.nix;
28 connexionswingProd = ./websites/connexionswing/production.nix;
29
30 deniseDenisejeromeProd = ./websites/denise/denisejerome.nix;
31 deniseEvariste = ./websites/denise/evariste.nix;
32
33 emiliaMoodle = ./websites/emilia/moodle.nix;
34
35 florianApp = ./websites/florian/app.nix;
36 florianInte = ./websites/florian/integration.nix;
37 florianProd = ./websites/florian/production.nix;
38
39 immaeProd = ./websites/immae/production.nix;
40 immaeRelease = ./websites/immae/release.nix;
41 immaeTemp = ./websites/immae/temp.nix;
42
43 isabelleAtenInte = ./websites/isabelle/aten_integration.nix;
44 isabelleAtenProd = ./websites/isabelle/aten_production.nix;
45 isabelleIridologie = ./websites/isabelle/iridologie.nix;
46
47 jeromeNaturaloutil = ./websites/jerome/naturaloutil.nix;
48
49 leilaProd = ./websites/leila/production.nix;
50
51 ludivineInte = ./websites/ludivine/integration.nix;
52 ludivineProd = ./websites/ludivine/production.nix;
53
54 nassimeProd = ./websites/nassime/production.nix;
55
56 papaMaisonBbc = ./websites/papa/maison_bbc.nix;
57 papaSurveillance = ./websites/papa/surveillance.nix;
58
59 piedsjalouxInte = ./websites/piedsjaloux/integration.nix;
60 piedsjalouxProd = ./websites/piedsjaloux/production.nix;
61
62 richieProd = ./websites/richie/production.nix;
63
64 sydenPeertube = ./websites/syden/peertube.nix;
65
66 teliotortayProd = ./websites/telio_tortay/production.nix;
67
68 # Tools
69 cloudTool = ./websites/tools/cloud;
70 davTool = ./websites/tools/dav;
71 vpnTool = ./websites/tools/vpn;
72 dbTool = ./websites/tools/db;
73 diasporaTool = ./websites/tools/diaspora;
74 etherTool = ./websites/tools/ether;
75 gitTool = ./websites/tools/git;
76 imTool = ./websites/tools/im;
77 mastodonTool = ./websites/tools/mastodon;
78 mgoblinTool = ./websites/tools/mgoblin;
79 peertubeTool = ./websites/tools/peertube;
80 toolsTool = ./websites/tools/tools;
81 mailTool = ./websites/tools/mail;
82
83 mail = ./mail;
84
85 buildbot = ./buildbot;
86 certificates = ./certificates.nix;
87 gitolite = ./gitolite;
88 irc = ./irc.nix;
89 pub = ./pub;
90 tasks = ./tasks;
91 dns = ./dns.nix;
92 ftp = ./ftp.nix;
93 mpd = ./mpd.nix;
94 ejabberd = ./ejabberd;
95 ssh = ./ssh;
96 monitoring = ./monitoring;
97 status = ./monitoring/status.nix;
98 vpn = ./vpn;
99
100 environment = ./environment.nix;
101 system = ./system.nix;
102 loginctl-linger = ./loginctl-linger.nix;
103 };
104 in
105 builtins.listToAttrs (map (attr: { name = "priv${attr}"; value = set.${attr}; }) (builtins.attrNames set))