diff options
-rw-r--r-- | custom/mime.types | 80 | ||||
-rw-r--r-- | ymir.nix | 55 |
2 files changed, 135 insertions, 0 deletions
diff --git a/custom/mime.types b/custom/mime.types new file mode 100644 index 00000000..8a218b22 --- /dev/null +++ b/custom/mime.types | |||
@@ -0,0 +1,80 @@ | |||
1 | |||
2 | types { | ||
3 | text/html html htm shtml; | ||
4 | text/css css; | ||
5 | text/xml xml; | ||
6 | image/gif gif; | ||
7 | image/jpeg jpeg jpg; | ||
8 | application/x-javascript js; | ||
9 | application/atom+xml atom; | ||
10 | application/rss+xml rss; | ||
11 | |||
12 | text/mathml mml; | ||
13 | text/plain txt; | ||
14 | text/vnd.sun.j2me.app-descriptor jad; | ||
15 | text/vnd.wap.wml wml; | ||
16 | text/x-component htc; | ||
17 | |||
18 | image/png png; | ||
19 | image/tiff tif tiff; | ||
20 | image/vnd.wap.wbmp wbmp; | ||
21 | image/x-icon ico; | ||
22 | image/x-jng jng; | ||
23 | image/x-ms-bmp bmp; | ||
24 | image/svg+xml svg svgz; | ||
25 | image/webp webp; | ||
26 | |||
27 | application/java-archive jar war ear; | ||
28 | application/mac-binhex40 hqx; | ||
29 | application/msword doc; | ||
30 | application/pdf pdf; | ||
31 | application/postscript ps eps ai; | ||
32 | application/rtf rtf; | ||
33 | application/vnd.ms-excel xls; | ||
34 | application/vnd.ms-powerpoint ppt; | ||
35 | application/vnd.wap.wmlc wmlc; | ||
36 | application/vnd.google-earth.kml+xml kml; | ||
37 | application/vnd.google-earth.kmz kmz; | ||
38 | application/x-7z-compressed 7z; | ||
39 | application/x-cocoa cco; | ||
40 | application/x-java-archive-diff jardiff; | ||
41 | application/x-java-jnlp-file jnlp; | ||
42 | application/x-makeself run; | ||
43 | application/x-perl pl pm; | ||
44 | application/x-pilot prc pdb; | ||
45 | application/x-rar-compressed rar; | ||
46 | application/x-redhat-package-manager rpm; | ||
47 | application/x-sea sea; | ||
48 | application/x-shockwave-flash swf; | ||
49 | application/x-stuffit sit; | ||
50 | application/x-tcl tcl tk; | ||
51 | application/x-x509-ca-cert der pem crt; | ||
52 | application/x-xpinstall xpi; | ||
53 | application/xhtml+xml xhtml; | ||
54 | application/zip zip; | ||
55 | |||
56 | application/octet-stream bin exe dll; | ||
57 | application/octet-stream deb; | ||
58 | application/octet-stream dmg; | ||
59 | application/octet-stream eot; | ||
60 | application/octet-stream iso img; | ||
61 | application/octet-stream msi msp msm; | ||
62 | |||
63 | audio/midi mid midi kar; | ||
64 | audio/mpeg mp3; | ||
65 | audio/ogg ogg; | ||
66 | audio/x-m4a m4a; | ||
67 | audio/x-realaudio ra; | ||
68 | |||
69 | video/3gpp 3gpp 3gp; | ||
70 | video/mp4 mp4; | ||
71 | video/mpeg mpeg mpg; | ||
72 | video/quicktime mov; | ||
73 | video/webm webm; | ||
74 | video/x-flv flv; | ||
75 | video/x-m4v m4v; | ||
76 | video/x-mng mng; | ||
77 | video/x-ms-asf asx asf; | ||
78 | video/x-ms-wmv wmv; | ||
79 | video/x-msvideo avi; | ||
80 | } | ||
@@ -164,4 +164,59 @@ in { | |||
164 | ip4 = [ { address = "10.142.0.3"; prefixLength = 16; } ]; | 164 | ip4 = [ { address = "10.142.0.3"; prefixLength = 16; } ]; |
165 | }; | 165 | }; |
166 | }); | 166 | }); |
167 | |||
168 | services.nginx = { | ||
169 | enable = true; | ||
170 | httpConfig = '' | ||
171 | include mime.types; | ||
172 | default_type application/octet-stream; | ||
173 | |||
174 | log_format main | ||
175 | '$remote_addr - $remote_user [$time_local] ' | ||
176 | '"$request" $status $bytes_sent ' | ||
177 | '"$http_referer" "$http_user_agent" ' | ||
178 | '"$gzip_ratio"'; | ||
179 | |||
180 | client_header_timeout 10m; | ||
181 | client_body_timeout 10m; | ||
182 | send_timeout 10m; | ||
183 | |||
184 | connection_pool_size 256; | ||
185 | client_header_buffer_size 1k; | ||
186 | large_client_header_buffers 4 2k; | ||
187 | request_pool_size 4k; | ||
188 | |||
189 | gzip on; | ||
190 | gzip_min_length 1100; | ||
191 | gzip_buffers 4 8k; | ||
192 | gzip_types text/plain; | ||
193 | |||
194 | output_buffers 1 32k; | ||
195 | postpone_output 1460; | ||
196 | |||
197 | sendfile on; | ||
198 | tcp_nopush on; | ||
199 | tcp_nodelay on; | ||
200 | |||
201 | keepalive_timeout 75 20; | ||
202 | |||
203 | ignore_invalid_headers on; | ||
204 | |||
205 | include hosts/*.conf; | ||
206 | ''; | ||
207 | }; | ||
208 | environment.etc."etc/nginx/mime.types" = { | ||
209 | source = ./custom/mime.types; | ||
210 | }; | ||
211 | environment.etc."etc/nginx/hosts/dirty-haskell.conf" = { | ||
212 | text = '' | ||
213 | server { | ||
214 | listen *:80; | ||
215 | listen [::]:80; | ||
216 | server_name dirty-haskell.org www.dirty-haskell.org; | ||
217 | |||
218 | root /srv/www/dirty-haskell.org; | ||
219 | } | ||
220 | ''; | ||
221 | }; | ||
167 | } | 222 | } |