aboutsummaryrefslogtreecommitdiff
path: root/modules/private/websites/florian
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2023-10-04 01:35:06 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2023-10-04 02:11:48 +0200
commit1a64deeb894dc95e2645a75771732c6cc53a79ad (patch)
tree1b9df4838f894577a09b9b260151756272efeb53 /modules/private/websites/florian
parentfa25ffd4583cc362075cd5e1b4130f33306103f0 (diff)
downloadNix-1a64deeb894dc95e2645a75771732c6cc53a79ad.tar.gz
Nix-1a64deeb894dc95e2645a75771732c6cc53a79ad.tar.zst
Nix-1a64deeb894dc95e2645a75771732c6cc53a79ad.zip
Squash changes containing private information
There were a lot of changes since the previous commit, but a lot of them contained personnal information about users. All thos changes got stashed into a single commit (history is kept in a different place) and private information was moved in a separate private repository
Diffstat (limited to 'modules/private/websites/florian')
-rw-r--r--modules/private/websites/florian/app.nix142
-rw-r--r--modules/private/websites/florian/app/default.nix27
-rw-r--r--modules/private/websites/florian/app/php-packages.nix389
-rw-r--r--modules/private/websites/florian/integration.nix34
-rw-r--r--modules/private/websites/florian/production.nix34
5 files changed, 0 insertions, 626 deletions
diff --git a/modules/private/websites/florian/app.nix b/modules/private/websites/florian/app.nix
deleted file mode 100644
index 2df344f..0000000
--- a/modules/private/websites/florian/app.nix
+++ /dev/null
@@ -1,142 +0,0 @@
1{ lib, pkgs, config, ... }:
2let
3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 secrets = config.myEnv.websites.tellesflorian.integration;
5 webRoot = "/var/lib/ftp/immae/florian/web";
6 cfg = config.myServices.websites.florian.app;
7 pcfg = config.services.phpApplication;
8in {
9 options.myServices.websites.florian.app.enable = lib.mkEnableOption "enable Florian's app in integration";
10
11 config = lib.mkIf cfg.enable {
12 services.phpApplication.apps.florian_app = {
13 websiteEnv = "integration";
14 httpdUser = config.services.httpd.Inte.user;
15 httpdGroup = config.services.httpd.Inte.group;
16 inherit webRoot;
17 varDir = "/var/lib/ftp/immae/florian_var";
18 varDirPaths = {
19 "var" = "0700";
20 };
21 app = "/var/lib/ftp/immae/florian";
22 serviceDeps = [ "mysql.service" ];
23 preStartActions = [
24 "./bin/console --env=dev cache:clear --no-warmup"
25 ];
26 phpOpenbasedir = [ "/tmp" ];
27 phpPool = {
28 "php_admin_value[upload_max_filesize]" = "20M";
29 "php_admin_value[post_max_size]" = "20M";
30 #"php_admin_flag[log_errors]" = "on";
31 "pm" = "ondemand";
32 "pm.max_children" = "5";
33 "pm.process_idle_timeout" = "60";
34 };
35 phpEnv = {
36 SYMFONY_DEBUG_MODE = "\"yes\"";
37 };
38 phpWatchFiles = [
39 config.secrets.fullPaths."websites/florian/app"
40 ];
41 phpPackage = pkgs.php72;
42 };
43
44 secrets.keys = {
45 "websites/florian/app_passwords" = {
46 user = config.services.httpd.Inte.user;
47 group = config.services.httpd.Inte.group;
48 permissions = "0400";
49 text = ''
50 invite:${secrets.invite_passwords}
51 '';
52 };
53 "websites/florian/app" = {
54 user = config.services.httpd.Inte.user;
55 group = config.services.httpd.Inte.group;
56 permissions = "0400";
57 text = ''
58 # This file is auto-generated during the composer install
59 parameters:
60 database_host: ${secrets.mysql.host}
61 database_port: ${secrets.mysql.port}
62 database_name: ${secrets.mysql.database}
63 database_user: ${secrets.mysql.user}
64 database_password: ${secrets.mysql.password}
65 mailer_transport: smtp
66 mailer_host: 127.0.0.1
67 mailer_user: null
68 mailer_password: null
69 secret: ${secrets.secret}
70 '';
71 };
72 };
73
74 services.websites.env.integration.modules = adminer.apache.modules;
75 services.websites.env.integration.vhostConfs.florian_app = {
76 certName = "integration";
77 addToCerts = true;
78 hosts = [ "app.tellesflorian.com" ];
79 root = webRoot;
80 extraConfig = [
81 ''
82 <FilesMatch "\.php$">
83 SetHandler "proxy:unix:${pcfg.phpListenPaths.florian_app}|fcgi://localhost"
84 </FilesMatch>
85
86 <Location />
87 AuthBasicProvider file ldap
88 Use LDAPConnect
89 Require ldap-group cn=app.tellesflorian.com,cn=httpd,ou=services,dc=immae,dc=eu
90
91 AuthUserFile "${config.secrets.fullPaths."websites/florian/app_passwords"}"
92 Require user "invite"
93
94 ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://tellesflorian.com\"></html>"
95 </Location>
96
97 <Directory ${webRoot}>
98 Options Indexes FollowSymLinks MultiViews Includes
99 AllowOverride None
100 Require all granted
101
102 DirectoryIndex app_dev.php
103
104 <IfModule mod_negotiation.c>
105 Options -MultiViews
106 </IfModule>
107
108 <IfModule mod_rewrite.c>
109 RewriteEngine On
110
111 RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
112 RewriteRule ^(.*) - [E=BASE:%1]
113
114 # Maintenance script
115 RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f
116 RewriteCond %{SCRIPT_FILENAME} !maintenance.php
117 RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L]
118 ErrorDocument 503 /maintenance.php
119
120 # Sets the HTTP_AUTHORIZATION header removed by Apache
121 RewriteCond %{HTTP:Authorization} .
122 RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
123
124 RewriteCond %{ENV:REDIRECT_STATUS} ^$
125 RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
126
127 # If the requested filename exists, simply serve it.
128 # We only want to let Apache serve files and not directories.
129 RewriteCond %{REQUEST_FILENAME} -f
130 RewriteRule ^ - [L]
131
132 # Rewrite all other queries to the front controller.
133 RewriteRule ^ %{ENV:BASE}/app_dev.php [L]
134 </IfModule>
135
136 </Directory>
137 ''
138 (adminer.apache.vhostConf null)
139 ];
140 };
141 };
142}
diff --git a/modules/private/websites/florian/app/default.nix b/modules/private/websites/florian/app/default.nix
deleted file mode 100644
index 28a7ec1..0000000
--- a/modules/private/websites/florian/app/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
1{ environment, varDir, secretsPath
2, composerEnv, fetchurl, sources }:
3let
4 app = composerEnv.buildPackage (
5 import ./php-packages.nix { inherit composerEnv fetchurl; } //
6 rec {
7 version = sources.websites-florian-app.version;
8 pname = "tellesflorian";
9 name = "${pname}-${version}";
10 src = sources.websites-florian-app;
11 noDev = (environment == "prod");
12 preInstall = ''
13 export SYMFONY_ENV="${environment}"
14 '';
15 postInstall = ''
16 cd $out
17 rm app/config/parameters.yml
18 ln -sf ${secretsPath} app/config/parameters.yml
19 rm -rf var/{logs,cache}
20 ln -sf ${varDir}/var/{logs,cache,sessions} var/
21 '';
22 passthru = {
23 inherit varDir environment;
24 webRoot = "${app}/web";
25 };
26 });
27in app
diff --git a/modules/private/websites/florian/app/php-packages.nix b/modules/private/websites/florian/app/php-packages.nix
deleted file mode 100644
index 0c7e00c..0000000
--- a/modules/private/websites/florian/app/php-packages.nix
+++ /dev/null
@@ -1,389 +0,0 @@
1# Generated with composer2nix and adapted to return only the list of
2# packages
3{ composerEnv, fetchurl }:
4{
5 packages = {
6 "composer/ca-bundle" = {
7 targetDir = "";
8 src = composerEnv.buildZipPackage {
9 name = "composer-ca-bundle-943b2c4fcad1ef178d16a713c2468bf7e579c288";
10 src = fetchurl {
11 url = https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288;
12 sha256 = "1gljia7akifp57w4rjzyh1km23kwymmvglz0mgafdgqzczcw0m6w";
13 };
14 };
15 };
16 "doctrine/annotations" = {
17 targetDir = "";
18 src = composerEnv.buildZipPackage {
19 name = "doctrine-annotations-f25c8aab83e0c3e976fd7d19875f198ccf2f7535";
20 src = fetchurl {
21 url = https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535;
22 sha256 = "08vm22fqq8r4bg2fk06y4inqnc8x0yfmsss28w5ra2011x2phq4z";
23 };
24 };
25 };
26 "doctrine/cache" = {
27 targetDir = "";
28 src = composerEnv.buildZipPackage {
29 name = "doctrine-cache-eb152c5100571c7a45470ff2a35095ab3f3b900b";
30 src = fetchurl {
31 url = https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b;
32 sha256 = "0iq0qqv1smlqz63jhj2fpjy54c5dwfwxyf5c89iky6i0yb81gwyd";
33 };
34 };
35 };
36 "doctrine/collections" = {
37 targetDir = "";
38 src = composerEnv.buildZipPackage {
39 name = "doctrine-collections-6c1e4eef75f310ea1b3e30945e9f06e652128b8a";
40 src = fetchurl {
41 url = https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a;
42 sha256 = "1dkxr2vjycykpcnnmq68rcnn1ww0kbpizd5pxxm6x9i2ilj8cbn7";
43 };
44 };
45 };
46 "doctrine/common" = {
47 targetDir = "";
48 src = composerEnv.buildZipPackage {
49 name = "doctrine-common-7bce00698899aa2c06fe7365c76e4d78ddb15fa3";
50 src = fetchurl {
51 url = https://api.github.com/repos/doctrine/common/zipball/7bce00698899aa2c06fe7365c76e4d78ddb15fa3;
52 sha256 = "12yizcsxsbhhi8hwaik4zalr12n5nxbpld05zygqhx6miyr92jyd";
53 };
54 };
55 };
56 "doctrine/dbal" = {
57 targetDir = "";
58 src = composerEnv.buildZipPackage {
59 name = "doctrine-dbal-729340d8d1eec8f01bff708e12e449a3415af873";
60 src = fetchurl {
61 url = https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873;
62 sha256 = "184p8h0n6mcm0y6vfyh0z6qcxmmf8h5z4vdvxd4ycmx0531lnhj3";
63 };
64 };
65 };
66 "doctrine/doctrine-bundle" = {
67 targetDir = "";
68 src = composerEnv.buildZipPackage {
69 name = "doctrine-doctrine-bundle-eb6e4fb904a459be28872765ab6e2d246aac7c87";
70 src = fetchurl {
71 url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/eb6e4fb904a459be28872765ab6e2d246aac7c87;
72 sha256 = "0kkisgyblc9hf9x3zpbb1wif51fa8mi6svyd44nls38k9k93dp17";
73 };
74 };
75 };
76 "doctrine/doctrine-cache-bundle" = {
77 targetDir = "";
78 src = composerEnv.buildZipPackage {
79 name = "doctrine-doctrine-cache-bundle-9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1";
80 src = fetchurl {
81 url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1;
82 sha256 = "08bqz18vk4673pnm2r2pcph6pdchc36zajnma1p9c6dp21sv7iki";
83 };
84 };
85 };
86 "doctrine/inflector" = {
87 targetDir = "";
88 src = composerEnv.buildZipPackage {
89 name = "doctrine-inflector-90b2128806bfde671b6952ab8bea493942c1fdae";
90 src = fetchurl {
91 url = https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae;
92 sha256 = "01vmclj3k7xil51jg329fznshh8d07pvm4mr89lvfn1d7fyrq6qw";
93 };
94 };
95 };
96 "doctrine/instantiator" = {
97 targetDir = "";
98 src = composerEnv.buildZipPackage {
99 name = "doctrine-instantiator-8e884e78f9f0eb1329e445619e04456e64d8051d";
100 src = fetchurl {
101 url = https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d;
102 sha256 = "15dcja45rnwya431pcm826l68k1g8f1fabl7rih69alcdyvdlln4";
103 };
104 };
105 };
106 "doctrine/lexer" = {
107 targetDir = "";
108 src = composerEnv.buildZipPackage {
109 name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c";
110 src = fetchurl {
111 url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c;
112 sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74";
113 };
114 };
115 };
116 "doctrine/orm" = {
117 targetDir = "";
118 src = composerEnv.buildZipPackage {
119 name = "doctrine-orm-810a7baf81462a5ddf10e8baa8cb94b6eec02754";
120 src = fetchurl {
121 url = https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754;
122 sha256 = "1hmkc7917kgnav9hmlgvlp7qwm3zjj910ci71g9yqwjh6s28wrf1";
123 };
124 };
125 };
126 "fig/link-util" = {
127 targetDir = "";
128 src = composerEnv.buildZipPackage {
129 name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac";
130 src = fetchurl {
131 url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac;
132 sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64";
133 };
134 };
135 };
136 "incenteev/composer-parameter-handler" = {
137 targetDir = "";
138 src = composerEnv.buildZipPackage {
139 name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550";
140 src = fetchurl {
141 url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550;
142 sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm";
143 };
144 };
145 };
146 "jdorn/sql-formatter" = {
147 targetDir = "";
148 src = composerEnv.buildZipPackage {
149 name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc";
150 src = fetchurl {
151 url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc;
152 sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi";
153 };
154 };
155 };
156 "monolog/monolog" = {
157 targetDir = "";
158 src = composerEnv.buildZipPackage {
159 name = "monolog-monolog-fd8c787753b3a2ad11bc60c063cff1358a32a3b4";
160 src = fetchurl {
161 url = https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4;
162 sha256 = "0avf3y8raw23krwdb7kw9qb5bsr5ls4i7qd2vh7hcds3qjixg3h9";
163 };
164 };
165 };
166 "paragonie/random_compat" = {
167 targetDir = "";
168 src = composerEnv.buildZipPackage {
169 name = "paragonie-random_compat-5da4d3c796c275c55f057af5a643ae297d96b4d8";
170 src = fetchurl {
171 url = https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8;
172 sha256 = "1hp6pin4923c300yi85m7qk04gsrbygv52wv5zm7giyyf0k0g073";
173 };
174 };
175 };
176 "psr/cache" = {
177 targetDir = "";
178 src = composerEnv.buildZipPackage {
179 name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8";
180 src = fetchurl {
181 url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8;
182 sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz";
183 };
184 };
185 };
186 "psr/container" = {
187 targetDir = "";
188 src = composerEnv.buildZipPackage {
189 name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f";
190 src = fetchurl {
191 url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f;
192 sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j";
193 };
194 };
195 };
196 "psr/link" = {
197 targetDir = "";
198 src = composerEnv.buildZipPackage {
199 name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562";
200 src = fetchurl {
201 url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562;
202 sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13";
203 };
204 };
205 };
206 "psr/log" = {
207 targetDir = "";
208 src = composerEnv.buildZipPackage {
209 name = "psr-log-4ebe3a8bf773a19edfe0a84b6585ba3d401b724d";
210 src = fetchurl {
211 url = https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d;
212 sha256 = "1mlcv17fjw39bjpck176ah1z393b6pnbw3jqhhrblj27c70785md";
213 };
214 };
215 };
216 "psr/simple-cache" = {
217 targetDir = "";
218 src = composerEnv.buildZipPackage {
219 name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
220 src = fetchurl {
221 url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b;
222 sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw";
223 };
224 };
225 };
226 "sensio/distribution-bundle" = {
227 targetDir = "";
228 src = composerEnv.buildZipPackage {
229 name = "sensio-distribution-bundle-eb6266b3b472e4002538610b28a0a04bcf94891a";
230 src = fetchurl {
231 url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a;
232 sha256 = "0wyffqj924lz9cv0vbahyngjw1g850v0p34swygzzgp3cr0ank13";
233 };
234 };
235 };
236 "sensio/framework-extra-bundle" = {
237 targetDir = "";
238 src = composerEnv.buildZipPackage {
239 name = "sensio-framework-extra-bundle-bf4940572e43af679aaa13be98f3446a1c237bd8";
240 src = fetchurl {
241 url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bf4940572e43af679aaa13be98f3446a1c237bd8;
242 sha256 = "1kb1n5w3kfc0kf4pslqdx5pgp0g4hmaag0i00wvjj2n3pjfm5lhf";
243 };
244 };
245 };
246 "sensiolabs/security-checker" = {
247 targetDir = "";
248 src = composerEnv.buildZipPackage {
249 name = "sensiolabs-security-checker-dc270d5fec418cc6ac983671dba5d80ffaffb142";
250 src = fetchurl {
251 url = https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142;
252 sha256 = "0fnshyd6f8j91a7y604nh6sqgscjl48mfa0727g2r4hkdfz8hpd1";
253 };
254 };
255 };
256 "swiftmailer/swiftmailer" = {
257 targetDir = "";
258 src = composerEnv.buildZipPackage {
259 name = "swiftmailer-swiftmailer-7ffc1ea296ed14bf8260b6ef11b80208dbadba91";
260 src = fetchurl {
261 url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91;
262 sha256 = "1vl5pzgvr2yfrj1yfs02mi917b0gr56v76ibi40r51a3346zhp6v";
263 };
264 };
265 };
266 "symfony/monolog-bundle" = {
267 targetDir = "";
268 src = composerEnv.buildZipPackage {
269 name = "symfony-monolog-bundle-8781649349fe418d51d194f8c9d212c0b97c40dd";
270 src = fetchurl {
271 url = https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd;
272 sha256 = "0wcqhg1vfdj3mxacr3fxpgqwy1rk9znjg9bmzx4jymk8l16i7bq8";
273 };
274 };
275 };
276 "symfony/polyfill-apcu" = {
277 targetDir = "";
278 src = composerEnv.buildZipPackage {
279 name = "symfony-polyfill-apcu-e8ae2136ddb53dea314df56fcd88e318ab936c00";
280 src = fetchurl {
281 url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00;
282 sha256 = "07wdszb9ircnidjk3fp3cvcrggxv3sfm996jzd0a9pm6vfz9hymv";
283 };
284 };
285 };
286 "symfony/polyfill-intl-icu" = {
287 targetDir = "";
288 src = composerEnv.buildZipPackage {
289 name = "symfony-polyfill-intl-icu-254919c03761d46c29291616576ed003f10e91c1";
290 src = fetchurl {
291 url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1;
292 sha256 = "01yivzv7p55fzrkkyvgd57zpyz82zn1qp0h6nzr77k01rkv3w0ds";
293 };
294 };
295 };
296 "symfony/polyfill-mbstring" = {
297 targetDir = "";
298 src = composerEnv.buildZipPackage {
299 name = "symfony-polyfill-mbstring-78be803ce01e55d3491c1397cf1c64beb9c1b63b";
300 src = fetchurl {
301 url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b;
302 sha256 = "0cqr8ni6wpbaxa9gyr40y5bsv54pa2g8kdarlfw3qg2rgzmk0yz1";
303 };
304 };
305 };
306 "symfony/polyfill-php56" = {
307 targetDir = "";
308 src = composerEnv.buildZipPackage {
309 name = "symfony-polyfill-php56-ebc999ce5f14204c5150b9bd15f8f04e621409d8";
310 src = fetchurl {
311 url = https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8;
312 sha256 = "0b2j56l6d6rdggx7vr20d527df4pjfp4lgxpglsgbf5912rcyf83";
313 };
314 };
315 };
316 "symfony/polyfill-php70" = {
317 targetDir = "";
318 src = composerEnv.buildZipPackage {
319 name = "symfony-polyfill-php70-3532bfcd8f933a7816f3a0a59682fc404776600f";
320 src = fetchurl {
321 url = https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f;
322 sha256 = "151m76lc9w0kxnnwk4zdcjlmj7fppibnp8jisgpvvq32ml3fizdi";
323 };
324 };
325 };
326 "symfony/polyfill-util" = {
327 targetDir = "";
328 src = composerEnv.buildZipPackage {
329 name = "symfony-polyfill-util-e17c808ec4228026d4f5a8832afa19be85979563";
330 src = fetchurl {
331 url = https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563;
332 sha256 = "17sdpdidc0b701f9rippjv1grfci7wrdpy2i1inlwwpr6zy782cq";
333 };
334 };
335 };
336 "symfony/swiftmailer-bundle" = {
337 targetDir = "";
338 src = composerEnv.buildZipPackage {
339 name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec";
340 src = fetchurl {
341 url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec;
342 sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01";
343 };
344 };
345 };
346 "symfony/symfony" = {
347 targetDir = "";
348 src = composerEnv.buildZipPackage {
349 name = "symfony-symfony-874d4d659774d7bab90538072c83ed532dd17dc5";
350 src = fetchurl {
351 url = https://api.github.com/repos/symfony/symfony/zipball/874d4d659774d7bab90538072c83ed532dd17dc5;
352 sha256 = "02rsn3sc34jh107n576jfbh666k06y44yr7hw61nir0d864k8api";
353 };
354 };
355 };
356 "twig/twig" = {
357 targetDir = "";
358 src = composerEnv.buildZipPackage {
359 name = "twig-twig-9c24f2cd39dc1906b76879e099970b7e53724601";
360 src = fetchurl {
361 url = https://api.github.com/repos/twigphp/Twig/zipball/9c24f2cd39dc1906b76879e099970b7e53724601;
362 sha256 = "0brfj2lahrrw1322zy6jyd380hjks1ynzzkmq3875a282gzrfkdz";
363 };
364 };
365 };
366 };
367 devPackages = {
368 "sensio/generator-bundle" = {
369 targetDir = "";
370 src = composerEnv.buildZipPackage {
371 name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65";
372 src = fetchurl {
373 url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65;
374 sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3";
375 };
376 };
377 };
378 "symfony/phpunit-bridge" = {
379 targetDir = "";
380 src = composerEnv.buildZipPackage {
381 name = "symfony-phpunit-bridge-32b06d2b0babf3216e55acfce42249321a304f03";
382 src = fetchurl {
383 url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/32b06d2b0babf3216e55acfce42249321a304f03;
384 sha256 = "0vw4q3lvz8gfs0r93ds8yymz8586k0czwa01c7d172rc8x02v0qq";
385 };
386 };
387 };
388 };
389}
diff --git a/modules/private/websites/florian/integration.nix b/modules/private/websites/florian/integration.nix
deleted file mode 100644
index 8ac1f46..0000000
--- a/modules/private/websites/florian/integration.nix
+++ /dev/null
@@ -1,34 +0,0 @@
1{ lib, pkgs, config, ... }:
2let
3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.florian.integration;
5 varDir = "/var/lib/ftp/florian/www.ft.immae.dev";
6 env = config.myEnv.websites.florian;
7in {
8 options.myServices.websites.florian.integration.enable = lib.mkEnableOption "enable Florian's website integration";
9
10 config = lib.mkIf cfg.enable {
11 security.acme.certs."ftp".extraDomains."ft.immae.dev" = null;
12
13 services.websites.env.integration.modules = adminer.apache.modules;
14 services.websites.env.integration.vhostConfs.florian_integration = {
15 certName = "integration";
16 addToCerts = true;
17 hosts = [ "www.ft.immae.dev" ];
18 root = varDir;
19 extraConfig = [
20 (adminer.apache.vhostConf null)
21 ''
22 ServerAdmin ${env.server_admin}
23
24 <Directory ${varDir}>
25 DirectoryIndex index.php index.htm index.html
26 Options Indexes FollowSymLinks MultiViews Includes
27 AllowOverride None
28 Require all granted
29 </Directory>
30 ''
31 ];
32 };
33 };
34}
diff --git a/modules/private/websites/florian/production.nix b/modules/private/websites/florian/production.nix
deleted file mode 100644
index 1c5ffa6..0000000
--- a/modules/private/websites/florian/production.nix
+++ /dev/null
@@ -1,34 +0,0 @@
1{ lib, pkgs, config, ... }:
2let
3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.florian.production;
5 varDir = "/var/lib/ftp/florian/tellesflorian.com";
6 env = config.myEnv.websites.florian;
7in {
8 options.myServices.websites.florian.production.enable = lib.mkEnableOption "enable Florian's website production";
9
10 config = lib.mkIf cfg.enable {
11 security.acme.certs."ftp".extraDomains."tellesflorian.com" = null;
12
13 services.websites.env.production.modules = adminer.apache.modules;
14 services.websites.env.production.vhostConfs.florian_production = {
15 certName = "florian";
16 certMainHost = "tellesflorian.com";
17 hosts = [ "tellesflorian.com" "www.tellesflorian.com" ];
18 root = varDir;
19 extraConfig = [
20 (adminer.apache.vhostConf null)
21 ''
22 ServerAdmin ${env.server_admin}
23
24 <Directory ${varDir}>
25 DirectoryIndex index.php index.htm index.html
26 Options Indexes FollowSymLinks MultiViews Includes
27 AllowOverride None
28 Require all granted
29 </Directory>
30 ''
31 ];
32 };
33 };
34}