]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/default.nix
f12fc4812468f90b6733fdfe285dda5a4e61aec7
[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 gemini = ./gemini;
20
21
22 # Personal websites
23 bakeerCloud = ./websites/bakeer/cloud.nix;
24
25 capitainesLandingPages = ./websites/capitaines/landing_pages.nix;
26
27 chloeInte = ./websites/chloe/integration.nix;
28 chloeProd = ./websites/chloe/production.nix;
29
30 cipcaSympa = ./websites/cip-ca/sympa.nix;
31
32 connexionswingInte = ./websites/connexionswing/integration.nix;
33 connexionswingProd = ./websites/connexionswing/production.nix;
34
35 deniseDenisejeromeProd = ./websites/denise/denisejerome.nix;
36 deniseEvariste = ./websites/denise/evariste.nix;
37 deniseOMS = ./websites/denise/oms.nix;
38 deniseAventuriers = ./websites/denise/aventuriers.nix;
39 deniseProduction = ./websites/denise/production.nix;
40
41 emiliaMoodle = ./websites/emilia/moodle.nix;
42
43 florianApp = ./websites/florian/app.nix;
44 florianInte = ./websites/florian/integration.nix;
45 florianProd = ./websites/florian/production.nix;
46
47 immaeProd = ./websites/immae/production.nix;
48 immaeRelease = ./websites/immae/release.nix;
49 immaeTemp = ./websites/immae/temp.nix;
50
51 isabelleAtenInte = ./websites/isabelle/aten_integration.nix;
52 isabelleAtenProd = ./websites/isabelle/aten_production.nix;
53 isabelleIridologie = ./websites/isabelle/iridologie.nix;
54
55 jeromeNaturaloutil = ./websites/jerome/naturaloutil.nix;
56
57 leilaProd = ./websites/leila/production.nix;
58
59 ludivineInte = ./websites/ludivine/integration.nix;
60 ludivineProd = ./websites/ludivine/production.nix;
61
62 nassimeProd = ./websites/nassime/production.nix;
63
64 nathVillon = ./websites/nath/villon.nix;
65
66 papaMaisonBbc = ./websites/papa/maison_bbc.nix;
67 papaSurveillance = ./websites/papa/surveillance.nix;
68
69 patrickFodellaProd = ./websites/patrick_fodella/production.nix;
70
71 piedsjalouxInte = ./websites/piedsjaloux/integration.nix;
72 piedsjalouxProd = ./websites/piedsjaloux/production.nix;
73
74 ressourcerieBanonProd = ./websites/ressourcerie_banon/production.nix;
75 ressourcerieBanonCloud = ./websites/ressourcerie_banon/cloud.nix;
76 ressourcerieBanonCryptpad = ./websites/ressourcerie_banon/cryptpad.nix;
77
78 richieProd = ./websites/richie/production.nix;
79
80 sydenPeertube = ./websites/syden/peertube.nix;
81
82 teliotortayProd = ./websites/telio_tortay/production.nix;
83
84 # Tools
85 assetsTools = ./websites/tools/assets;
86 cloudTool = ./websites/tools/cloud;
87 cloudFarmTool = ./websites/tools/cloud/farm.nix;
88 commentoTool = ./websites/tools/commento;
89 davTool = ./websites/tools/dav;
90 vpnTool = ./websites/tools/vpn;
91 dbTool = ./websites/tools/db;
92 diasporaTool = ./websites/tools/diaspora;
93 etherTool = ./websites/tools/ether;
94 gitTool = ./websites/tools/git;
95 imTool = ./websites/tools/im;
96 mastodonTool = ./websites/tools/mastodon;
97 mgoblinTool = ./websites/tools/mgoblin;
98 peertubeTool = ./websites/tools/peertube;
99 performanceTool = ./websites/tools/performance;
100 toolsTool = ./websites/tools/tools;
101 mailTool = ./websites/tools/mail;
102
103 # Games
104 codenamesGame = ./websites/tools/games/codenames;
105 terraformingMarsGame = ./websites/tools/games/terraforming-mars;
106
107 mail = ./mail;
108
109 buildbot = ./buildbot;
110 certificates = ./certificates.nix;
111 gitolite = ./gitolite;
112 irc = ./irc.nix;
113 pub = ./pub;
114 tasks = ./tasks;
115 dns = ./dns.nix;
116 ftp = ./ftp.nix;
117 mpd = ./mpd.nix;
118 ejabberd = ./ejabberd;
119 ssh = ./ssh;
120 monitoring = ./monitoring;
121 status = ./monitoring/status.nix;
122 status_engine = ./monitoring/status_engine.nix;
123 vpn = ./vpn;
124
125 environment = ./environment.nix;
126 system = ./system.nix;
127 loginctl-linger = ./loginctl-linger.nix;
128 };
129 in
130 builtins.listToAttrs (map (attr: { name = "priv${attr}"; value = set.${attr}; }) (builtins.attrNames set))