aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2020-03-25 11:57:48 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2020-04-03 16:25:07 +0200
commit5400b9b6f65451d41a9106fae6fc00f97d83f4ef (patch)
tree6ed072da7b1f17ac3994ffea052aa0c0822f8446
parent441da8aac378f401625e82caf281fa0e26128310 (diff)
downloadNix-5400b9b6f65451d41a9106fae6fc00f97d83f4ef.tar.gz
Nix-5400b9b6f65451d41a9106fae6fc00f97d83f4ef.tar.zst
Nix-5400b9b6f65451d41a9106fae6fc00f97d83f4ef.zip
Upgrade nixos
-rw-r--r--modules/acme2.nix353
-rw-r--r--modules/default.nix1
-rw-r--r--modules/private/buildbot/default.nix1
-rw-r--r--modules/private/certificates.nix34
-rw-r--r--modules/private/databases/mariadb.nix6
-rw-r--r--modules/private/databases/openldap/default.nix35
-rw-r--r--modules/private/databases/openldap/eldiron_schemas.nix8
-rw-r--r--modules/private/databases/openldap_replication.nix4
-rw-r--r--modules/private/databases/postgresql.nix17
-rw-r--r--modules/private/databases/redis.nix11
-rw-r--r--modules/private/ejabberd/default.nix10
-rw-r--r--modules/private/ejabberd/ejabberd.yml2
-rw-r--r--modules/private/environment.nix8
-rw-r--r--modules/private/ftp.nix4
-rw-r--r--modules/private/gitolite/default.nix2
-rw-r--r--modules/private/irc.nix4
-rw-r--r--modules/private/mail/default.nix2
-rw-r--r--modules/private/mail/dovecot.nix2
-rw-r--r--modules/private/mail/postfix.nix2
-rw-r--r--modules/private/mail/relay.nix2
-rw-r--r--modules/private/monitoring/objects_backup-2.nix4
-rw-r--r--modules/private/monitoring/status.nix2
-rw-r--r--modules/private/tasks/default.nix43
-rw-r--r--modules/private/websites/chloe/builder.nix45
-rw-r--r--modules/private/websites/chloe/integration.nix9
-rw-r--r--modules/private/websites/chloe/production.nix7
-rw-r--r--modules/private/websites/commons/adminer.nix27
-rw-r--r--modules/private/websites/connexionswing/integration.nix20
-rw-r--r--modules/private/websites/connexionswing/production.nix20
-rw-r--r--modules/private/websites/default.nix10
-rw-r--r--modules/private/websites/emilia/richie.nix31
-rw-r--r--modules/private/websites/evariste/production.nix50
-rw-r--r--modules/private/websites/florian/app.nix24
-rw-r--r--modules/private/websites/florian/integration.nix6
-rw-r--r--modules/private/websites/florian/production.nix6
-rw-r--r--modules/private/websites/isabelle/aten_integration.nix20
-rw-r--r--modules/private/websites/isabelle/aten_production.nix20
-rw-r--r--modules/private/websites/isabelle/iridologie.nix7
-rw-r--r--modules/private/websites/isabelle/spip_builder.nix45
-rw-r--r--modules/private/websites/leila/production.nix27
-rw-r--r--modules/private/websites/ludivinecassal/integration.nix20
-rw-r--r--modules/private/websites/ludivinecassal/production.nix20
-rw-r--r--modules/private/websites/nassime/production.nix2
-rw-r--r--modules/private/websites/naturaloutil/production.nix35
-rw-r--r--modules/private/websites/papa/maison_bbc.nix29
-rw-r--r--modules/private/websites/papa/surveillance.nix2
-rw-r--r--modules/private/websites/piedsjaloux/integration.nix22
-rw-r--r--modules/private/websites/piedsjaloux/production.nix24
-rw-r--r--modules/private/websites/teliotortay/production.nix31
-rw-r--r--modules/private/websites/tools/cloud/default.nix52
-rw-r--r--modules/private/websites/tools/dav/davical.nix45
-rw-r--r--modules/private/websites/tools/dav/default.nix7
-rw-r--r--modules/private/websites/tools/db/default.nix4
-rw-r--r--modules/private/websites/tools/git/default.nix7
-rw-r--r--modules/private/websites/tools/git/mantisbt.nix27
-rw-r--r--modules/private/websites/tools/mail/default.nix15
-rw-r--r--modules/private/websites/tools/mail/rainloop.nix33
-rw-r--r--modules/private/websites/tools/mail/roundcubemail.nix33
-rw-r--r--modules/private/websites/tools/tools/adminer.nix49
-rw-r--r--modules/private/websites/tools/tools/default.nix129
-rw-r--r--modules/private/websites/tools/tools/dokuwiki.nix29
-rw-r--r--modules/private/websites/tools/tools/grocy.nix29
-rw-r--r--modules/private/websites/tools/tools/kanboard.nix29
-rw-r--r--modules/private/websites/tools/tools/ldap.nix29
-rw-r--r--modules/private/websites/tools/tools/rompr.nix47
-rw-r--r--modules/private/websites/tools/tools/shaarli.nix29
-rw-r--r--modules/private/websites/tools/tools/ttrss.nix31
-rw-r--r--modules/private/websites/tools/tools/wallabag.nix33
-rw-r--r--modules/private/websites/tools/tools/yourls.nix29
-rw-r--r--modules/webapps/mastodon.nix2
-rw-r--r--modules/webapps/webstats/default.nix2
-rw-r--r--modules/websites/default.nix28
-rw-r--r--modules/websites/httpd-service-builder.nix68
-rw-r--r--modules/websites/php-application.nix31
-rw-r--r--nix/sources.json45
-rw-r--r--nixops/Makefile4
-rw-r--r--overlays/databases/mysql/default.nix6
-rw-r--r--overlays/databases/postgresql/default.nix3
-rw-r--r--overlays/default.nix1
-rw-r--r--overlays/gitweb/default.nix2
-rw-r--r--overlays/shaarli/default.nix7
-rw-r--r--overlays/simp_le/default.nix3
-rw-r--r--pkgs/bitlbee-mastodon/default.nix6
-rw-r--r--pkgs/mpd_0_21/default.nix68
-rw-r--r--pkgs/mpd_0_21/default_old.nix156
-rw-r--r--pkgs/private/webapps/aten/default.nix2
-rw-r--r--pkgs/private/webapps/chloe/chloe.json6
-rw-r--r--pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json6
-rw-r--r--pkgs/python-packages/buildbot/plugins/buildslist/default.nix25
-rw-r--r--pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix4594
-rw-r--r--pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch26
-rw-r--r--pkgs/webapps/davical/default.nix5
-rw-r--r--pkgs/webapps/diaspora/default.nix4
-rw-r--r--pkgs/webapps/mediagoblin/default.nix10
-rw-r--r--pkgs/webapps/peertube/default.nix6
95 files changed, 5260 insertions, 1658 deletions
diff --git a/modules/acme2.nix b/modules/acme2.nix
deleted file mode 100644
index b22e4cc..0000000
--- a/modules/acme2.nix
+++ /dev/null
@@ -1,353 +0,0 @@
1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6
7 cfg = config.security.acme2;
8
9 certOpts = { name, ... }: {
10 options = {
11 webroot = mkOption {
12 type = types.str;
13 example = "/var/lib/acme/acme-challenges";
14 description = ''
15 Where the webroot of the HTTP vhost is located.
16 <filename>.well-known/acme-challenge/</filename> directory
17 will be created below the webroot if it doesn't exist.
18 <literal>http://example.org/.well-known/acme-challenge/</literal> must also
19 be available (notice unencrypted HTTP).
20 '';
21 };
22
23 server = mkOption {
24 type = types.nullOr types.str;
25 default = null;
26 description = ''
27 ACME Directory Resource URI. Defaults to let's encrypt
28 production endpoint,
29 https://acme-v02.api.letsencrypt.org/directory, if unset.
30 '';
31 };
32
33 domain = mkOption {
34 type = types.str;
35 default = name;
36 description = "Domain to fetch certificate for (defaults to the entry name)";
37 };
38
39 email = mkOption {
40 type = types.nullOr types.str;
41 default = null;
42 description = "Contact email address for the CA to be able to reach you.";
43 };
44
45 user = mkOption {
46 type = types.str;
47 default = "root";
48 description = "User running the ACME client.";
49 };
50
51 group = mkOption {
52 type = types.str;
53 default = "root";
54 description = "Group running the ACME client.";
55 };
56
57 allowKeysForGroup = mkOption {
58 type = types.bool;
59 default = false;
60 description = ''
61 Give read permissions to the specified group
62 (<option>security.acme2.cert.&lt;name&gt;.group</option>) to read SSL private certificates.
63 '';
64 };
65
66 postRun = mkOption {
67 type = types.lines;
68 default = "";
69 example = "systemctl reload nginx.service";
70 description = ''
71 Commands to run after new certificates go live. Typically
72 the web server and other servers using certificates need to
73 be reloaded.
74
75 Executed in the same directory with the new certificate.
76 '';
77 };
78
79 plugins = mkOption {
80 type = types.listOf (types.enum [
81 "cert.der" "cert.pem" "chain.pem" "external.sh"
82 "fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json" "account_reg.json"
83 ]);
84 default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" "account_reg.json" ];
85 description = ''
86 Plugins to enable. With default settings simp_le will
87 store public certificate bundle in <filename>fullchain.pem</filename>,
88 private key in <filename>key.pem</filename> and those two previous
89 files combined in <filename>full.pem</filename> in its state directory.
90 '';
91 };
92
93 directory = mkOption {
94 type = types.str;
95 readOnly = true;
96 default = "/var/lib/acme/${name}";
97 description = "Directory where certificate and other state is stored.";
98 };
99
100 extraDomains = mkOption {
101 type = types.attrsOf (types.nullOr types.str);
102 default = {};
103 example = literalExample ''
104 {
105 "example.org" = "/srv/http/nginx";
106 "mydomain.org" = null;
107 }
108 '';
109 description = ''
110 A list of extra domain names, which are included in the one certificate to be issued, with their
111 own server roots if needed.
112 '';
113 };
114 };
115 };
116
117in
118
119{
120
121 ###### interface
122 imports = [
123 (mkRemovedOptionModule [ "security" "acme2" "production" ] ''
124 Use security.acme2.server to define your staging ACME server URL instead.
125
126 To use the let's encrypt staging server, use security.acme2.server =
127 "https://acme-staging-v02.api.letsencrypt.org/directory".
128 ''
129 )
130 (mkRemovedOptionModule [ "security" "acme2" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.")
131 (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
132 (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
133 ];
134 options = {
135 security.acme2 = {
136
137 validMin = mkOption {
138 type = types.int;
139 default = 30 * 24 * 3600;
140 description = "Minimum remaining validity before renewal in seconds.";
141 };
142
143 renewInterval = mkOption {
144 type = types.str;
145 default = "weekly";
146 description = ''
147 Systemd calendar expression when to check for renewal. See
148 <citerefentry><refentrytitle>systemd.time</refentrytitle>
149 <manvolnum>7</manvolnum></citerefentry>.
150 '';
151 };
152
153 server = mkOption {
154 type = types.nullOr types.str;
155 default = null;
156 description = ''
157 ACME Directory Resource URI. Defaults to let's encrypt
158 production endpoint,
159 <literal>https://acme-v02.api.letsencrypt.org/directory</literal>, if unset.
160 '';
161 };
162
163 preliminarySelfsigned = mkOption {
164 type = types.bool;
165 default = true;
166 description = ''
167 Whether a preliminary self-signed certificate should be generated before
168 doing ACME requests. This can be useful when certificates are required in
169 a webserver, but ACME needs the webserver to make its requests.
170
171 With preliminary self-signed certificate the webserver can be started and
172 can later reload the correct ACME certificates.
173 '';
174 };
175
176 certs = mkOption {
177 default = { };
178 type = with types; attrsOf (submodule certOpts);
179 description = ''
180 Attribute set of certificates to get signed and renewed. Creates
181 <literal>acme-''${cert}.{service,timer}</literal> systemd units for
182 each certificate defined here. Other services can add dependencies
183 to those units if they rely on the certificates being present,
184 or trigger restarts of the service if certificates get renewed.
185 '';
186 example = literalExample ''
187 {
188 "example.com" = {
189 webroot = "/var/www/challenges/";
190 email = "foo@example.com";
191 extraDomains = { "www.example.com" = null; "foo.example.com" = "/var/www/foo/"; };
192 };
193 "bar.example.com" = {
194 webroot = "/var/www/challenges/";
195 email = "bar@example.com";
196 };
197 }
198 '';
199 };
200 };
201 };
202
203 ###### implementation
204 config = mkMerge [
205 (mkIf (cfg.certs != { }) {
206
207 systemd.services = let
208 services = concatLists servicesLists;
209 servicesLists = mapAttrsToList certToServices cfg.certs;
210 certToServices = cert: data:
211 let
212 lpath = "acme/${cert}";
213 rights = if data.allowKeysForGroup then "750" else "700";
214 cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin ]
215 ++ optionals (data.email != null) [ "--email" data.email ]
216 ++ concatMap (p: [ "-f" p ]) data.plugins
217 ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
218 ++ optionals (cfg.server != null || data.server != null) ["--server" (if data.server == null then cfg.server else data.server)];
219 acmeService = {
220 description = "Renew ACME Certificate for ${cert}";
221 after = [ "network.target" "network-online.target" ];
222 wants = [ "network-online.target" ];
223 # simp_le uses requests, which uses certifi under the hood,
224 # which doesn't respect the system trust store.
225 # At least in the acme test, we provision a fake CA, impersonating the LE endpoint.
226 # REQUESTS_CA_BUNDLE is a way to teach python requests to use something else
227 environment.REQUESTS_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt";
228 serviceConfig = {
229 Type = "oneshot";
230 # With RemainAfterExit the service is considered active even
231 # after the main process having exited, which means when it
232 # gets changed, the activation phase restarts it, meaning
233 # the permissions of the StateDirectory get adjusted
234 # according to the specified group
235 # Edit: Timers will never run because of this
236 # RemainAfterExit = true;
237 SuccessExitStatus = [ "0" "1" ];
238 User = data.user;
239 Group = data.group;
240 PrivateTmp = true;
241 StateDirectory = lpath;
242 StateDirectoryMode = rights;
243 ExecStartPre =
244 let
245 script = pkgs.writeScript "acme-pre-start" ''
246 #!${pkgs.runtimeShell} -e
247 mkdir -p '${data.webroot}/.well-known/acme-challenge'
248 chmod a+w '${data.webroot}/.well-known/acme-challenge'
249 #doesn't work for multiple concurrent runs
250 #chown -R '${data.user}:${data.group}' '${data.webroot}/.well-known/acme-challenge'
251 '';
252 in
253 "+${script}";
254 WorkingDirectory = "/var/lib/${lpath}";
255 ExecStart = "${pkgs.simp_le_0_17}/bin/simp_le ${escapeShellArgs cmdline}";
256 ExecStartPost =
257 let
258 script = pkgs.writeScript "acme-post-start" ''
259 #!${pkgs.runtimeShell} -e
260 ${data.postRun}
261 '';
262 in
263 "+${script}";
264 };
265
266 };
267 selfsignedService = {
268 description = "Create preliminary self-signed certificate for ${cert}";
269 path = [ pkgs.openssl ];
270 script =
271 ''
272 workdir="$(mktemp -d)"
273
274 # Create CA
275 openssl genrsa -des3 -passout pass:xxxx -out $workdir/ca.pass.key 2048
276 openssl rsa -passin pass:xxxx -in $workdir/ca.pass.key -out $workdir/ca.key
277 openssl req -new -key $workdir/ca.key -out $workdir/ca.csr \
278 -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=Security Department/CN=example.com"
279 openssl x509 -req -days 1 -in $workdir/ca.csr -signkey $workdir/ca.key -out $workdir/ca.crt
280
281 # Create key
282 openssl genrsa -des3 -passout pass:xxxx -out $workdir/server.pass.key 2048
283 openssl rsa -passin pass:xxxx -in $workdir/server.pass.key -out $workdir/server.key
284 openssl req -new -key $workdir/server.key -out $workdir/server.csr \
285 -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com"
286 openssl x509 -req -days 1 -in $workdir/server.csr -CA $workdir/ca.crt \
287 -CAkey $workdir/ca.key -CAserial $workdir/ca.srl -CAcreateserial \
288 -out $workdir/server.crt
289
290 # Copy key to destination
291 cp $workdir/server.key /var/lib/${lpath}/key.pem
292
293 # Create fullchain.pem (same format as "simp_le ... -f fullchain.pem" creates)
294 cat $workdir/{server.crt,ca.crt} > "/var/lib/${lpath}/fullchain.pem"
295
296 # Create full.pem for e.g. lighttpd
297 cat $workdir/{server.key,server.crt,ca.crt} > "/var/lib/${lpath}/full.pem"
298
299 # Give key acme permissions
300 chown '${data.user}:${data.group}' "/var/lib/${lpath}/"{key,fullchain,full}.pem
301 chmod ${rights} "/var/lib/${lpath}/"{key,fullchain,full}.pem
302 '';
303 serviceConfig = {
304 Type = "oneshot";
305 PrivateTmp = true;
306 StateDirectory = lpath;
307 User = data.user;
308 Group = data.group;
309 };
310 unitConfig = {
311 # Do not create self-signed key when key already exists
312 ConditionPathExists = "!/var/lib/${lpath}/key.pem";
313 };
314 };
315 in (
316 [ { name = "acme-${cert}"; value = acmeService; } ]
317 ++ optional cfg.preliminarySelfsigned { name = "acme-selfsigned-${cert}"; value = selfsignedService; }
318 );
319 servicesAttr = listToAttrs services;
320 in
321 servicesAttr;
322
323 # FIXME: this doesn't work for multiple users
324 systemd.tmpfiles.rules =
325 flip mapAttrsToList cfg.certs
326 (cert: data: "d ${data.webroot}/.well-known/acme-challenge - ${data.user} ${data.group}");
327
328 systemd.timers = flip mapAttrs' cfg.certs (cert: data: nameValuePair
329 ("acme-${cert}")
330 ({
331 description = "Renew ACME Certificate for ${cert}";
332 wantedBy = [ "timers.target" ];
333 timerConfig = {
334 OnCalendar = cfg.renewInterval;
335 Unit = "acme-${cert}.service";
336 Persistent = "yes";
337 AccuracySec = "5m";
338 RandomizedDelaySec = "1h";
339 };
340 })
341 );
342
343 systemd.targets.acme-selfsigned-certificates = mkIf cfg.preliminarySelfsigned {};
344 systemd.targets.acme-certificates = {};
345 })
346
347 ];
348
349 meta = {
350 maintainers = with lib.maintainers; [ abbradar fpletz globin ];
351 #doc = ./acme.xml;
352 };
353}
diff --git a/modules/default.nix b/modules/default.nix
index 98dc77d..9ff6ea6 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -19,5 +19,4 @@
19 19
20 php-application = ./websites/php-application.nix; 20 php-application = ./websites/php-application.nix;
21 websites = ./websites; 21 websites = ./websites;
22 acme2 = ./acme2.nix;
23} // (if builtins.pathExists ./private then import ./private else {}) 22} // (if builtins.pathExists ./private then import ./private else {})
diff --git a/modules/private/buildbot/default.nix b/modules/private/buildbot/default.nix
index 47e30fc..c8ee48e 100644
--- a/modules/private/buildbot/default.nix
+++ b/modules/private/buildbot/default.nix
@@ -180,6 +180,7 @@ in
180 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList 180 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList
181 (k: v: "install -Dm600 -o buildbot -g buildbot -T /var/secrets/buildbot/${project.name}/${k} $buildbot_secrets/${k}") project.secrets 181 (k: v: "install -Dm600 -o buildbot -g buildbot -T /var/secrets/buildbot/${project.name}/${k} $buildbot_secrets/${k}") project.secrets
182 )} 182 )}
183 ${buildbot}/bin/buildbot upgrade-master ${varDir}/${project.name}
183 ''; 184 '';
184 environment = let 185 environment = let
185 project_env = with lib.attrsets; 186 project_env = with lib.attrsets;
diff --git a/modules/private/certificates.nix b/modules/private/certificates.nix
index f057200..2bf2730 100644
--- a/modules/private/certificates.nix
+++ b/modules/private/certificates.nix
@@ -30,9 +30,9 @@
30 myServices.databasesCerts = config.myServices.certificates.certConfig; 30 myServices.databasesCerts = config.myServices.certificates.certConfig;
31 myServices.ircCerts = config.myServices.certificates.certConfig; 31 myServices.ircCerts = config.myServices.certificates.certConfig;
32 32
33 security.acme2.preliminarySelfsigned = true; 33 security.acme.preliminarySelfsigned = true;
34 34
35 security.acme2.certs = { 35 security.acme.certs = {
36 "${name}" = config.myServices.certificates.certConfig // { 36 "${name}" = config.myServices.certificates.certConfig // {
37 domain = config.hostEnv.fqdn; 37 domain = config.hostEnv.fqdn;
38 }; 38 };
@@ -41,17 +41,33 @@
41 systemd.services = lib.attrsets.mapAttrs' (k: v: 41 systemd.services = lib.attrsets.mapAttrs' (k: v:
42 lib.attrsets.nameValuePair "acme-selfsigned-${k}" (lib.mkBefore { script = 42 lib.attrsets.nameValuePair "acme-selfsigned-${k}" (lib.mkBefore { script =
43 (lib.optionalString (builtins.elem "cert.pem" v.plugins) '' 43 (lib.optionalString (builtins.elem "cert.pem" v.plugins) ''
44 cp $workdir/server.crt ${config.security.acme2.certs."${k}".directory}/cert.pem 44 cp $workdir/server.crt ${config.security.acme.certs."${k}".directory}/cert.pem
45 chown '${v.user}:${v.group}' ${config.security.acme2.certs."${k}".directory}/cert.pem 45 chown '${v.user}:${v.group}' ${config.security.acme.certs."${k}".directory}/cert.pem
46 chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme2.certs."${k}".directory}/cert.pem 46 chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.certs."${k}".directory}/cert.pem
47 '') + 47 '') +
48 (lib.optionalString (builtins.elem "chain.pem" v.plugins) '' 48 (lib.optionalString (builtins.elem "chain.pem" v.plugins) ''
49 cp $workdir/ca.crt ${config.security.acme2.certs."${k}".directory}/chain.pem 49 cp $workdir/ca.crt ${config.security.acme.certs."${k}".directory}/chain.pem
50 chown '${v.user}:${v.group}' ${config.security.acme2.certs."${k}".directory}/chain.pem 50 chown '${v.user}:${v.group}' ${config.security.acme.certs."${k}".directory}/chain.pem
51 chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme2.certs."${k}".directory}/chain.pem 51 chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.certs."${k}".directory}/chain.pem
52 '') 52 '')
53 ; }) 53 ; })
54 ) config.security.acme2.certs // { 54 ) config.security.acme.certs //
55 lib.attrsets.mapAttrs' (k: data:
56 lib.attrsets.nameValuePair "acme-${k}" {
57 serviceConfig.ExecStartPre =
58 let
59 script = pkgs.writeScript "acme-pre-start" ''
60 #!${pkgs.runtimeShell} -e
61 mkdir -p '${data.webroot}/.well-known/acme-challenge'
62 chmod a+w '${data.webroot}/.well-known/acme-challenge'
63 #doesn't work for multiple concurrent runs
64 #chown -R '${data.user}:${data.group}' '${data.webroot}/.well-known/acme-challenge'
65 '';
66 in
67 "+${script}";
68 }
69 ) config.security.acme.certs //
70 {
55 httpdProd = lib.mkIf config.services.httpd.Prod.enable 71 httpdProd = lib.mkIf config.services.httpd.Prod.enable
56 { after = [ "acme-selfsigned-certificates.target" ]; wants = [ "acme-selfsigned-certificates.target" ]; }; 72 { after = [ "acme-selfsigned-certificates.target" ]; wants = [ "acme-selfsigned-certificates.target" ]; };
57 httpdTools = lib.mkIf config.services.httpd.Tools.enable 73 httpdTools = lib.mkIf config.services.httpd.Tools.enable
diff --git a/modules/private/databases/mariadb.nix b/modules/private/databases/mariadb.nix
index ed647ea..04e4bd6 100644
--- a/modules/private/databases/mariadb.nix
+++ b/modules/private/databases/mariadb.nix
@@ -96,8 +96,8 @@ in {
96 dataDir = cfg.dataDir; 96 dataDir = cfg.dataDir;
97 extraOptions = '' 97 extraOptions = ''
98 ssl_ca = ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt 98 ssl_ca = ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
99 ssl_key = ${config.security.acme2.certs.mysql.directory}/key.pem 99 ssl_key = ${config.security.acme.certs.mysql.directory}/key.pem
100 ssl_cert = ${config.security.acme2.certs.mysql.directory}/fullchain.pem 100 ssl_cert = ${config.security.acme.certs.mysql.directory}/fullchain.pem
101 101
102 # for replication 102 # for replication
103 log-bin=mariadb-bin 103 log-bin=mariadb-bin
@@ -110,7 +110,7 @@ in {
110 }; 110 };
111 111
112 users.users.mysql.extraGroups = [ "keys" ]; 112 users.users.mysql.extraGroups = [ "keys" ];
113 security.acme2.certs."mysql" = config.myServices.databasesCerts // { 113 security.acme.certs."mysql" = config.myServices.databasesCerts // {
114 user = "mysql"; 114 user = "mysql";
115 group = "mysql"; 115 group = "mysql";
116 plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ]; 116 plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ];
diff --git a/modules/private/databases/openldap/default.nix b/modules/private/databases/openldap/default.nix
index d7d61db..efe9379 100644
--- a/modules/private/databases/openldap/default.nix
+++ b/modules/private/databases/openldap/default.nix
@@ -12,27 +12,14 @@ let
12 moduleload back_hdb 12 moduleload back_hdb
13 backend hdb 13 backend hdb
14 14
15 moduleload memberof 15 TLSCertificateFile ${config.security.acme.certs.ldap.directory}/cert.pem
16 database hdb 16 TLSCertificateKeyFile ${config.security.acme.certs.ldap.directory}/key.pem
17 suffix "${cfg.baseDn}" 17 TLSCACertificateFile ${config.security.acme.certs.ldap.directory}/fullchain.pem
18 rootdn "${cfg.rootDn}"
19 include ${config.secrets.location}/ldap/password
20 directory ${cfg.dataDir}
21 overlay memberof
22
23 moduleload syncprov
24 overlay syncprov
25 syncprov-checkpoint 100 10
26
27 TLSCertificateFile ${config.security.acme2.certs.ldap.directory}/cert.pem
28 TLSCertificateKeyFile ${config.security.acme2.certs.ldap.directory}/key.pem
29 TLSCACertificateFile ${config.security.acme2.certs.ldap.directory}/fullchain.pem
30 TLSCACertificatePath ${pkgs.cacert.unbundled}/etc/ssl/certs/ 18 TLSCACertificatePath ${pkgs.cacert.unbundled}/etc/ssl/certs/
31 #This makes openldap crash 19 #This makes openldap crash
32 #TLSCipherSuite DEFAULT 20 #TLSCipherSuite DEFAULT
33 21
34 sasl-host kerberos.immae.eu 22 sasl-host kerberos.immae.eu
35 include ${config.secrets.location}/ldap/access
36 ''; 23 '';
37in 24in
38{ 25{
@@ -117,7 +104,7 @@ in
117 users.users.openldap.extraGroups = [ "keys" ]; 104 users.users.openldap.extraGroups = [ "keys" ];
118 networking.firewall.allowedTCPPorts = [ 636 389 ]; 105 networking.firewall.allowedTCPPorts = [ 636 389 ];
119 106
120 security.acme2.certs."ldap" = config.myServices.databasesCerts // { 107 security.acme.certs."ldap" = config.myServices.databasesCerts // {
121 user = "openldap"; 108 user = "openldap";
122 group = "openldap"; 109 group = "openldap";
123 plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ]; 110 plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ];
@@ -137,6 +124,20 @@ in
137 dataDir = cfg.dataDir; 124 dataDir = cfg.dataDir;
138 urlList = [ "ldap://" "ldaps://" ]; 125 urlList = [ "ldap://" "ldaps://" ];
139 extraConfig = ldapConfig; 126 extraConfig = ldapConfig;
127 extraDatabaseConfig = ''
128 moduleload memberof
129 overlay memberof
130
131 moduleload syncprov
132 overlay syncprov
133 syncprov-checkpoint 100 10
134
135 include ${config.secrets.location}/ldap/access
136 '';
137 rootpwFile = "${config.secrets.location}/ldap/password";
138 suffix = cfg.baseDn;
139 rootdn = cfg.rootDn;
140 database = "hdb";
140 }; 141 };
141 }; 142 };
142} 143}
diff --git a/modules/private/databases/openldap/eldiron_schemas.nix b/modules/private/databases/openldap/eldiron_schemas.nix
index fc686dd..cf45ebe 100644
--- a/modules/private/databases/openldap/eldiron_schemas.nix
+++ b/modules/private/databases/openldap/eldiron_schemas.nix
@@ -9,10 +9,10 @@ let
9 sha256 = "11bjf5zfvqlim7p9vddcafs0wiq3v8ys77x8h6fbp9c6bdfh0awh"; 9 sha256 = "11bjf5zfvqlim7p9vddcafs0wiq3v8ys77x8h6fbp9c6bdfh0awh";
10 }; 10 };
11 schemas = [ 11 schemas = [
12 "${openldap}/etc/schema/core.schema" 12 #"${openldap}/etc/schema/core.schema"
13 "${openldap}/etc/schema/cosine.schema" 13 #"${openldap}/etc/schema/cosine.schema"
14 "${openldap}/etc/schema/inetorgperson.schema" 14 #"${openldap}/etc/schema/inetorgperson.schema"
15 "${openldap}/etc/schema/nis.schema" 15 #"${openldap}/etc/schema/nis.schema"
16 puppetSchema 16 puppetSchema
17 kerberosSchema 17 kerberosSchema
18 ./immae.schema 18 ./immae.schema
diff --git a/modules/private/databases/openldap_replication.nix b/modules/private/databases/openldap_replication.nix
index 2980c97..df4101b 100644
--- a/modules/private/databases/openldap_replication.nix
+++ b/modules/private/databases/openldap_replication.nix
@@ -3,6 +3,10 @@ let
3 cfg = config.myServices.databasesReplication.openldap; 3 cfg = config.myServices.databasesReplication.openldap;
4 eldiron_schemas = pkgs.callPackage ./openldap/eldiron_schemas.nix {}; 4 eldiron_schemas = pkgs.callPackage ./openldap/eldiron_schemas.nix {};
5 ldapConfig = hcfg: name: pkgs.writeText "slapd.conf" '' 5 ldapConfig = hcfg: name: pkgs.writeText "slapd.conf" ''
6 include ${pkgs.openldap}/etc/schema/core.schema
7 include ${pkgs.openldap}/etc/schema/cosine.schema
8 include ${pkgs.openldap}/etc/schema/inetorgperson.schema
9 include ${pkgs.openldap}/etc/schema/nis.schema
6 ${eldiron_schemas} 10 ${eldiron_schemas}
7 pidfile /run/slapd_${name}/slapd.pid 11 pidfile /run/slapd_${name}/slapd.pid
8 argsfile /run/slapd_${name}/slapd.args 12 argsfile /run/slapd_${name}/slapd.args
diff --git a/modules/private/databases/postgresql.nix b/modules/private/databases/postgresql.nix
index 27ea59c..d0b1a75 100644
--- a/modules/private/databases/postgresql.nix
+++ b/modules/private/databases/postgresql.nix
@@ -91,23 +91,13 @@ in {
91 ''; 91 '';
92 readOnly = true; 92 readOnly = true;
93 }; 93 };
94 systemdRuntimeDirectory = lib.mkOption {
95 type = lib.types.str;
96 # Use ReadWritePaths= instead if socketsDir is outside of /run
97 default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir;
98 lib.strings.removePrefix "/run/" cfg.socketsDir;
99 description = ''
100 Adjusted Postgresql sockets directory for systemd
101 '';
102 readOnly = true;
103 };
104 }; 94 };
105 }; 95 };
106 96
107 config = lib.mkIf cfg.enable { 97 config = lib.mkIf cfg.enable {
108 networking.firewall.allowedTCPPorts = [ 5432 ]; 98 networking.firewall.allowedTCPPorts = [ 5432 ];
109 99
110 security.acme2.certs."postgresql" = config.myServices.databasesCerts // { 100 security.acme.certs."postgresql" = config.myServices.databasesCerts // {
111 user = "postgres"; 101 user = "postgres";
112 group = "postgres"; 102 group = "postgres";
113 plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ]; 103 plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ];
@@ -119,7 +109,6 @@ in {
119 109
120 systemd.services.postgresql.serviceConfig = { 110 systemd.services.postgresql.serviceConfig = {
121 SupplementaryGroups = "keys"; 111 SupplementaryGroups = "keys";
122 RuntimeDirectory = cfg.systemdRuntimeDirectory;
123 }; 112 };
124 systemd.services.postgresql.postStart = lib.mkAfter '' 113 systemd.services.postgresql.postStart = lib.mkAfter ''
125 # This line is already defined in 19.09 114 # This line is already defined in 19.09
@@ -165,8 +154,8 @@ in {
165 # makes it order of magnitudes quicker 154 # makes it order of magnitudes quicker
166 synchronous_commit = off 155 synchronous_commit = off
167 ssl = on 156 ssl = on
168 ssl_cert_file = '${config.security.acme2.certs.postgresql.directory}/fullchain.pem' 157 ssl_cert_file = '${config.security.acme.certs.postgresql.directory}/fullchain.pem'
169 ssl_key_file = '${config.security.acme2.certs.postgresql.directory}/key.pem' 158 ssl_key_file = '${config.security.acme.certs.postgresql.directory}/key.pem'
170 ''; 159 '';
171 authentication = let 160 authentication = let
172 hosts = builtins.concatStringsSep "\n" ( 161 hosts = builtins.concatStringsSep "\n" (
diff --git a/modules/private/databases/redis.nix b/modules/private/databases/redis.nix
index 4b26283..4602510 100644
--- a/modules/private/databases/redis.nix
+++ b/modules/private/databases/redis.nix
@@ -17,16 +17,6 @@ in {
17 ''; 17 '';
18 }; 18 };
19 # Output variables 19 # Output variables
20 systemdRuntimeDirectory = lib.mkOption {
21 type = lib.types.str;
22 # Use ReadWritePaths= instead if socketsDir is outside of /run
23 default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir;
24 lib.strings.removePrefix "/run/" cfg.socketsDir;
25 description = ''
26 Adjusted redis sockets directory for systemd
27 '';
28 readOnly = true;
29 };
30 sockets = lib.mkOption { 20 sockets = lib.mkOption {
31 type = lib.types.attrsOf lib.types.path; 21 type = lib.types.attrsOf lib.types.path;
32 default = { 22 default = {
@@ -51,7 +41,6 @@ in {
51 maxclients 1024 41 maxclients 1024
52 ''; 42 '';
53 }; 43 };
54 systemd.services.redis.serviceConfig.RuntimeDirectory = cfg.systemdRuntimeDirectory;
55 44
56 services.spiped = { 45 services.spiped = {
57 enable = true; 46 enable = true;
diff --git a/modules/private/ejabberd/default.nix b/modules/private/ejabberd/default.nix
index 3537c24..382b42d 100644
--- a/modules/private/ejabberd/default.nix
+++ b/modules/private/ejabberd/default.nix
@@ -14,7 +14,7 @@ in
14 }; 14 };
15 15
16 config = lib.mkIf cfg.enable { 16 config = lib.mkIf cfg.enable {
17 security.acme2.certs = { 17 security.acme.certs = {
18 "ejabberd" = config.myServices.certificates.certConfig // { 18 "ejabberd" = config.myServices.certificates.certConfig // {
19 user = "ejabberd"; 19 user = "ejabberd";
20 group = "ejabberd"; 20 group = "ejabberd";
@@ -58,7 +58,7 @@ in
58 text = '' 58 text = ''
59 host_config: 59 host_config:
60 "immae.fr": 60 "immae.fr":
61 domain_certfile: "${config.security.acme2.certs.ejabberd.directory}/full.pem" 61 domain_certfile: "${config.security.acme.certs.ejabberd.directory}/full.pem"
62 auth_method: [ldap] 62 auth_method: [ldap]
63 ldap_servers: ["${config.myEnv.jabber.ldap.host}"] 63 ldap_servers: ["${config.myEnv.jabber.ldap.host}"]
64 ldap_encrypt: tls 64 ldap_encrypt: tls
@@ -66,8 +66,8 @@ in
66 ldap_password: "${config.myEnv.jabber.ldap.password}" 66 ldap_password: "${config.myEnv.jabber.ldap.password}"
67 ldap_base: "${config.myEnv.jabber.ldap.base}" 67 ldap_base: "${config.myEnv.jabber.ldap.base}"
68 ldap_uids: 68 ldap_uids:
69 - "uid": "%u" 69 uid: "%u"
70 - "immaeXmppUid": "%u" 70 immaeXmppUid: "%u"
71 ldap_filter: "${config.myEnv.jabber.ldap.filter}" 71 ldap_filter: "${config.myEnv.jabber.ldap.filter}"
72 ''; 72 '';
73 } 73 }
@@ -81,7 +81,7 @@ in
81 ERLANG_NODE=ejabberd@localhost 81 ERLANG_NODE=ejabberd@localhost
82 ''; 82 '';
83 configFile = pkgs.runCommand "ejabberd.yml" { 83 configFile = pkgs.runCommand "ejabberd.yml" {
84 certificatePrivateKeyAndFullChain = "${config.security.acme2.certs.ejabberd.directory}/full.pem"; 84 certificatePrivateKeyAndFullChain = "${config.security.acme.certs.ejabberd.directory}/full.pem";
85 certificateCA = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; 85 certificateCA = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
86 sql_config_file = config.secrets.fullPaths."ejabberd/psql.yml"; 86 sql_config_file = config.secrets.fullPaths."ejabberd/psql.yml";
87 host_config_file = config.secrets.fullPaths."ejabberd/host.yml"; 87 host_config_file = config.secrets.fullPaths."ejabberd/host.yml";
diff --git a/modules/private/ejabberd/ejabberd.yml b/modules/private/ejabberd/ejabberd.yml
index 0f678b6..82ac35b 100644
--- a/modules/private/ejabberd/ejabberd.yml
+++ b/modules/private/ejabberd/ejabberd.yml
@@ -69,7 +69,6 @@ s2s_use_starttls: optional
69s2s_cafile: "@certificateCA@" 69s2s_cafile: "@certificateCA@"
70 70
71default_db: sql 71default_db: sql
72sql_type: pgsql
73include_config_file: @sql_config_file@ 72include_config_file: @sql_config_file@
74include_config_file: @host_config_file@ 73include_config_file: @host_config_file@
75new_sql_schema: true 74new_sql_schema: true
@@ -193,7 +192,6 @@ modules:
193 access_createnode: pubsub_createnode 192 access_createnode: pubsub_createnode
194 plugins: 193 plugins:
195 - "flat" 194 - "flat"
196 - "hometree"
197 - "pep" 195 - "pep"
198 force_node_config: 196 force_node_config:
199 ## Change from "whitelist" to "open" to enable OMEMO support 197 ## Change from "whitelist" to "open" to enable OMEMO support
diff --git a/modules/private/environment.nix b/modules/private/environment.nix
index b7589eb..77e9c8d 100644
--- a/modules/private/environment.nix
+++ b/modules/private/environment.nix
@@ -133,8 +133,8 @@ let
133 ''; 133 '';
134 type = submodule { 134 type = submodule {
135 options = { 135 options = {
136 password = mkOption { type = string; description = "Password for the LDAP connection"; }; 136 password = mkOption { type = str; description = "Password for the LDAP connection"; };
137 dn = mkOption { type = string; description = "DN for the LDAP connection"; }; 137 dn = mkOption { type = str; description = "DN for the LDAP connection"; };
138 }; 138 };
139 }; 139 };
140 }; 140 };
@@ -156,13 +156,13 @@ let
156 type = attrsOf (submodule { 156 type = attrsOf (submodule {
157 options = { 157 options = {
158 ip4 = mkOption { 158 ip4 = mkOption {
159 type = string; 159 type = str;
160 description = '' 160 description = ''
161 ip4 address of the host 161 ip4 address of the host
162 ''; 162 '';
163 }; 163 };
164 ip6 = mkOption { 164 ip6 = mkOption {
165 type = listOf string; 165 type = listOf str;
166 default = []; 166 default = [];
167 description = '' 167 description = ''
168 ip6 addresses of the host 168 ip6 addresses of the host
diff --git a/modules/private/ftp.nix b/modules/private/ftp.nix
index 585fe63..417af87 100644
--- a/modules/private/ftp.nix
+++ b/modules/private/ftp.nix
@@ -17,7 +17,7 @@ in
17 services.duplyBackup.profiles.ftp = { 17 services.duplyBackup.profiles.ftp = {
18 rootDir = "/var/lib/ftp"; 18 rootDir = "/var/lib/ftp";
19 }; 19 };
20 security.acme2.certs."ftp" = config.myServices.certificates.certConfig // { 20 security.acme.certs."ftp" = config.myServices.certificates.certConfig // {
21 domain = "eldiron.immae.eu"; 21 domain = "eldiron.immae.eu";
22 postRun = '' 22 postRun = ''
23 systemctl restart pure-ftpd.service 23 systemctl restart pure-ftpd.service
@@ -113,7 +113,7 @@ in
113 MaxDiskUsage 99 113 MaxDiskUsage 99
114 CustomerProof yes 114 CustomerProof yes
115 TLS 1 115 TLS 1
116 CertFile ${config.security.acme2.certs.ftp.directory}/full.pem 116 CertFile ${config.security.acme.certs.ftp.directory}/full.pem
117 ''; 117 '';
118 in { 118 in {
119 description = "Pure-FTPd server"; 119 description = "Pure-FTPd server";
diff --git a/modules/private/gitolite/default.nix b/modules/private/gitolite/default.nix
index 9dfa04d..9f5c179 100644
--- a/modules/private/gitolite/default.nix
+++ b/modules/private/gitolite/default.nix
@@ -5,7 +5,7 @@ in {
5 options.myServices.gitolite = { 5 options.myServices.gitolite = {
6 enable = lib.mkEnableOption "my gitolite service"; 6 enable = lib.mkEnableOption "my gitolite service";
7 gitoliteDir = lib.mkOption { 7 gitoliteDir = lib.mkOption {
8 type = lib.types.string; 8 type = lib.types.str;
9 default = "/var/lib/gitolite"; 9 default = "/var/lib/gitolite";
10 }; 10 };
11 }; 11 };
diff --git a/modules/private/irc.nix b/modules/private/irc.nix
index 1054b96..9871508 100644
--- a/modules/private/irc.nix
+++ b/modules/private/irc.nix
@@ -20,7 +20,7 @@ in
20 services.duplyBackup.profiles.irc = { 20 services.duplyBackup.profiles.irc = {
21 rootDir = "/var/lib/bitlbee"; 21 rootDir = "/var/lib/bitlbee";
22 }; 22 };
23 security.acme2.certs."irc" = config.myServices.ircCerts // { 23 security.acme.certs."irc" = config.myServices.ircCerts // {
24 domain = "irc.immae.eu"; 24 domain = "irc.immae.eu";
25 postRun = '' 25 postRun = ''
26 systemctl restart stunnel.service 26 systemctl restart stunnel.service
@@ -49,7 +49,7 @@ in
49 bitlbee = { 49 bitlbee = {
50 accept = 6697; 50 accept = 6697;
51 connect = 6667; 51 connect = 6667;
52 cert = "${config.security.acme2.certs.irc.directory}/full.pem"; 52 cert = "${config.security.acme.certs.irc.directory}/full.pem";
53 }; 53 };
54 }; 54 };
55 }; 55 };
diff --git a/modules/private/mail/default.nix b/modules/private/mail/default.nix
index 1c64e15..b50e346 100644
--- a/modules/private/mail/default.nix
+++ b/modules/private/mail/default.nix
@@ -13,7 +13,7 @@
13 options.myServices.mailBackup.enable = lib.mkEnableOption "enable MX backup services"; 13 options.myServices.mailBackup.enable = lib.mkEnableOption "enable MX backup services";
14 14
15 config = lib.mkIf config.myServices.mail.enable { 15 config = lib.mkIf config.myServices.mail.enable {
16 security.acme2.certs."mail" = config.myServices.certificates.certConfig // { 16 security.acme.certs."mail" = config.myServices.certificates.certConfig // {
17 domain = config.hostEnv.fqdn; 17 domain = config.hostEnv.fqdn;
18 extraDomains = let 18 extraDomains = let
19 zonesWithMx = builtins.filter (zone: 19 zonesWithMx = builtins.filter (zone:
diff --git a/modules/private/mail/dovecot.nix b/modules/private/mail/dovecot.nix
index 9836f78..77f9bd7 100644
--- a/modules/private/mail/dovecot.nix
+++ b/modules/private/mail/dovecot.nix
@@ -269,7 +269,7 @@ in
269 [ 269 [
270 "0 2 * * * root ${cron_script}/bin/cleanup-imap-folders" 270 "0 2 * * * root ${cron_script}/bin/cleanup-imap-folders"
271 ]; 271 ];
272 security.acme2.certs."mail" = { 272 security.acme.certs."mail" = {
273 postRun = '' 273 postRun = ''
274 systemctl restart dovecot2.service 274 systemctl restart dovecot2.service
275 ''; 275 '';
diff --git a/modules/private/mail/postfix.nix b/modules/private/mail/postfix.nix
index e0347ec..4791b41 100644
--- a/modules/private/mail/postfix.nix
+++ b/modules/private/mail/postfix.nix
@@ -428,7 +428,7 @@
428 }; 428 };
429 }; 429 };
430 }; 430 };
431 security.acme2.certs."mail" = { 431 security.acme.certs."mail" = {
432 postRun = '' 432 postRun = ''
433 systemctl restart postfix.service 433 systemctl restart postfix.service
434 ''; 434 '';
diff --git a/modules/private/mail/relay.nix b/modules/private/mail/relay.nix
index 18d6bc3..c6231aa 100644
--- a/modules/private/mail/relay.nix
+++ b/modules/private/mail/relay.nix
@@ -1,7 +1,7 @@
1{ lib, pkgs, config, nodes, name, ... }: 1{ lib, pkgs, config, nodes, name, ... }:
2{ 2{
3 config = lib.mkIf config.myServices.mailBackup.enable { 3 config = lib.mkIf config.myServices.mailBackup.enable {
4 security.acme2.certs."mail" = config.myServices.certificates.certConfig // { 4 security.acme.certs."mail" = config.myServices.certificates.certConfig // {
5 postRun = '' 5 postRun = ''
6 systemctl restart postfix.service 6 systemctl restart postfix.service
7 ''; 7 '';
diff --git a/modules/private/monitoring/objects_backup-2.nix b/modules/private/monitoring/objects_backup-2.nix
index cc8e36b..4cdf59a 100644
--- a/modules/private/monitoring/objects_backup-2.nix
+++ b/modules/private/monitoring/objects_backup-2.nix
@@ -79,6 +79,10 @@ in
79 base = config.myServices.databasesReplication.openldap.base; 79 base = config.myServices.databasesReplication.openldap.base;
80 eldiron_schemas = pkgs.callPackage ../databases/openldap/eldiron_schemas.nix {}; 80 eldiron_schemas = pkgs.callPackage ../databases/openldap/eldiron_schemas.nix {};
81 ldapConfig = pkgs.writeText "slapd.conf" '' 81 ldapConfig = pkgs.writeText "slapd.conf" ''
82 include ${pkgs.openldap}/etc/schema/core.schema
83 include ${pkgs.openldap}/etc/schema/cosine.schema
84 include ${pkgs.openldap}/etc/schema/inetorgperson.schema
85 include ${pkgs.openldap}/etc/schema/nis.schema
82 ${eldiron_schemas} 86 ${eldiron_schemas}
83 moduleload back_hdb 87 moduleload back_hdb
84 backend hdb 88 backend hdb
diff --git a/modules/private/monitoring/status.nix b/modules/private/monitoring/status.nix
index 2860e96..d25d934 100644
--- a/modules/private/monitoring/status.nix
+++ b/modules/private/monitoring/status.nix
@@ -34,7 +34,7 @@
34 locations."/".proxyPass = "http://unix:/run/naemon-status/socket.sock:/"; 34 locations."/".proxyPass = "http://unix:/run/naemon-status/socket.sock:/";
35 }; 35 };
36 }; 36 };
37 security.acme2.certs."${name}".extraDomains."status.immae.eu" = null; 37 security.acme.certs."${name}".extraDomains."status.immae.eu" = null;
38 38
39 myServices.certificates.enable = true; 39 myServices.certificates.enable = true;
40 networking.firewall.allowedTCPPorts = [ 80 443 ]; 40 networking.firewall.allowedTCPPorts = [ 80 443 ];
diff --git a/modules/private/tasks/default.nix b/modules/private/tasks/default.nix
index 78e07c1..42cc8d2 100644
--- a/modules/private/tasks/default.nix
+++ b/modules/private/tasks/default.nix
@@ -123,7 +123,7 @@ in {
123 Use LDAPConnect 123 Use LDAPConnect
124 Require ldap-group cn=users,cn=taskwarrior,ou=services,dc=immae,dc=eu 124 Require ldap-group cn=users,cn=taskwarrior,ou=services,dc=immae,dc=eu
125 <FilesMatch "\.php$"> 125 <FilesMatch "\.php$">
126 SetHandler "proxy:unix:/var/run/phpfpm/task.sock|fcgi://localhost" 126 SetHandler "proxy:unix:${config.services.phpfpm.pools.tasks.socket}|fcgi://localhost"
127 </FilesMatch> 127 </FilesMatch>
128 Include /var/secrets/webapps/tools-taskwarrior-web 128 Include /var/secrets/webapps/tools-taskwarrior-web
129 </Directory> 129 </Directory>
@@ -172,29 +172,30 @@ in {
172 }; 172 };
173 services.phpfpm.pools = { 173 services.phpfpm.pools = {
174 tasks = { 174 tasks = {
175 listen = "/var/run/phpfpm/task.sock"; 175 user = user;
176 extraConfig = '' 176 group = group;
177 user = ${user} 177 settings = {
178 group = ${group} 178 "listen.owner" = "wwwrun";
179 listen.owner = wwwrun 179 "listen.group" = "wwwrun";
180 listen.group = wwwrun 180 "pm" = "dynamic";
181 pm = dynamic 181 "pm.max_children" = "60";
182 pm.max_children = 60 182 "pm.start_servers" = "2";
183 pm.start_servers = 2 183 "pm.min_spare_servers" = "1";
184 pm.min_spare_servers = 1 184 "pm.max_spare_servers" = "10";
185 pm.max_spare_servers = 10
186 185
187 ; Needed to avoid clashes in browser cookies (same domain) 186 # Needed to avoid clashes in browser cookies (same domain)
188 env[PATH] = "/etc/profiles/per-user/${user}/bin" 187 "php_value[session.name]" = "TaskPHPSESSID";
189 php_value[session.name] = TaskPHPSESSID 188 "php_admin_value[open_basedir]" = "${./www}:/tmp:${server_vardir}:/etc/profiles/per-user/${user}/bin/";
190 php_admin_value[open_basedir] = "${./www}:/tmp:${server_vardir}:/etc/profiles/per-user/${user}/bin/" 189 };
191 ''; 190 phpEnv = {
191 PATH = "/etc/profiles/per-user/${user}/bin";
192 };
192 }; 193 };
193 }; 194 };
194 195
195 myServices.websites.webappDirs._task = ./www; 196 myServices.websites.webappDirs._task = ./www;
196 197
197 security.acme2.certs."task" = config.myServices.certificates.certConfig // { 198 security.acme.certs."task" = config.myServices.certificates.certConfig // {
198 inherit user group; 199 inherit user group;
199 plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ]; 200 plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ];
200 domain = fqdn; 201 domain = fqdn;
@@ -246,9 +247,9 @@ in {
246 inherit fqdn; 247 inherit fqdn;
247 listenHost = "::"; 248 listenHost = "::";
248 pki.manual.ca.cert = "${server_vardir}/keys/ca.cert"; 249 pki.manual.ca.cert = "${server_vardir}/keys/ca.cert";
249 pki.manual.server.cert = "${config.security.acme2.certs.task.directory}/fullchain.pem"; 250 pki.manual.server.cert = "${config.security.acme.certs.task.directory}/fullchain.pem";
250 pki.manual.server.crl = "${config.security.acme2.certs.task.directory}/invalid.crl"; 251 pki.manual.server.crl = "${config.security.acme.certs.task.directory}/invalid.crl";
251 pki.manual.server.key = "${config.security.acme2.certs.task.directory}/key.pem"; 252 pki.manual.server.key = "${config.security.acme.certs.task.directory}/key.pem";
252 requestLimit = 104857600; 253 requestLimit = 104857600;
253 }; 254 };
254 255
diff --git a/modules/private/websites/chloe/builder.nix b/modules/private/websites/chloe/builder.nix
index f21caeb..bce2b4d 100644
--- a/modules/private/websites/chloe/builder.nix
+++ b/modules/private/websites/chloe/builder.nix
@@ -3,28 +3,25 @@ rec {
3 app = chloe.override { inherit (config) environment; }; 3 app = chloe.override { inherit (config) environment; };
4 phpFpm = rec { 4 phpFpm = rec {
5 serviceDeps = [ "mysql.service" ]; 5 serviceDeps = [ "mysql.service" ];
6 socket = "/var/run/phpfpm/chloe-${app.environment}.sock"; 6 pool = {
7 pool = '' 7 "listen.owner" = apacheUser;
8 user = ${apacheUser} 8 "listen.group" = apacheGroup;
9 group = ${apacheGroup} 9 "php_admin_value[upload_max_filesize]" = "20M";
10 listen.owner = ${apacheUser} 10 "php_admin_value[post_max_size]" = "20M";
11 listen.group = ${apacheGroup} 11 # "php_admin_flag[log_errors]" = "on";
12 php_admin_value[upload_max_filesize] = 20M 12 "php_admin_value[open_basedir]" = "${app.spipConfig}:${configDir}:${app}:${app.varDir}:/tmp";
13 php_admin_value[post_max_size] = 20M 13 "php_admin_value[session.save_path]" = "${app.varDir}/phpSessions";
14 ;php_admin_flag[log_errors] = on 14 } // (if app.environment == "dev" then {
15 php_admin_value[open_basedir] = "${app.spipConfig}:${configDir}:${app}:${app.varDir}:/tmp" 15 "pm" = "ondemand";
16 php_admin_value[session.save_path] = "${app.varDir}/phpSessions" 16 "pm.max_children" = "5";
17 ${if app.environment == "dev" then '' 17 "pm.process_idle_timeout" = "60";
18 pm = ondemand 18 } else {
19 pm.max_children = 5 19 "pm" = "dynamic";
20 pm.process_idle_timeout = 60 20 "pm.max_children" = "20";
21 '' else '' 21 "pm.start_servers" = "2";
22 pm = dynamic 22 "pm.min_spare_servers" = "1";
23 pm.max_children = 20 23 "pm.max_spare_servers" = "3";
24 pm.start_servers = 2 24 });
25 pm.min_spare_servers = 1
26 pm.max_spare_servers = 3
27 ''}'';
28 }; 25 };
29 keys = [{ 26 keys = [{
30 dest = "webapps/${app.environment}-chloe"; 27 dest = "webapps/${app.environment}-chloe";
@@ -51,7 +48,7 @@ rec {
51 modules = [ "proxy_fcgi" ]; 48 modules = [ "proxy_fcgi" ];
52 webappName = "chloe_${app.environment}"; 49 webappName = "chloe_${app.environment}";
53 root = "/run/current-system/webapps/${webappName}"; 50 root = "/run/current-system/webapps/${webappName}";
54 vhostConf = '' 51 vhostConf = socket: ''
55 Include /var/secrets/webapps/${app.environment}-chloe 52 Include /var/secrets/webapps/${app.environment}-chloe
56 53
57 RewriteEngine On 54 RewriteEngine On
@@ -60,7 +57,7 @@ rec {
60 '' else ""} 57 '' else ""}
61 58
62 <FilesMatch "\.php$"> 59 <FilesMatch "\.php$">
63 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 60 SetHandler "proxy:unix:${socket}|fcgi://localhost"
64 </FilesMatch> 61 </FilesMatch>
65 62
66 <Directory ${root}> 63 <Directory ${root}>
diff --git a/modules/private/websites/chloe/integration.nix b/modules/private/websites/chloe/integration.nix
index 6276eb7..caf6548 100644
--- a/modules/private/websites/chloe/integration.nix
+++ b/modules/private/websites/chloe/integration.nix
@@ -17,8 +17,9 @@ in {
17 systemd.services.phpfpm-chloe_dev.after = lib.mkAfter chloe.phpFpm.serviceDeps; 17 systemd.services.phpfpm-chloe_dev.after = lib.mkAfter chloe.phpFpm.serviceDeps;
18 systemd.services.phpfpm-chloe_dev.wants = chloe.phpFpm.serviceDeps; 18 systemd.services.phpfpm-chloe_dev.wants = chloe.phpFpm.serviceDeps;
19 services.phpfpm.pools.chloe_dev = { 19 services.phpfpm.pools.chloe_dev = {
20 listen = chloe.phpFpm.socket; 20 user = config.services.httpd.Inte.user;
21 extraConfig = chloe.phpFpm.pool; 21 group = config.services.httpd.Inte.group;
22 settings = chloe.phpFpm.pool;
22 phpOptions = config.services.phpfpm.phpOptions + '' 23 phpOptions = config.services.phpfpm.phpOptions + ''
23 extension=${pkgs.php}/lib/php/extensions/mysqli.so 24 extension=${pkgs.php}/lib/php/extensions/mysqli.so
24 ''; 25 '';
@@ -31,7 +32,9 @@ in {
31 addToCerts = true; 32 addToCerts = true;
32 hosts = ["chloe.immae.eu" ]; 33 hosts = ["chloe.immae.eu" ];
33 root = chloe.apache.root; 34 root = chloe.apache.root;
34 extraConfig = [ chloe.apache.vhostConf ]; 35 extraConfig = [
36 (chloe.apache.vhostConf config.services.phpfpm.pools.chloe_dev.socket)
37 ];
35 }; 38 };
36 services.websites.env.integration.watchPaths = [ 39 services.websites.env.integration.watchPaths = [
37 "/var/secrets/webapps/${chloe.app.environment}-chloe" 40 "/var/secrets/webapps/${chloe.app.environment}-chloe"
diff --git a/modules/private/websites/chloe/production.nix b/modules/private/websites/chloe/production.nix
index 578bf91..83f6c9b 100644
--- a/modules/private/websites/chloe/production.nix
+++ b/modules/private/websites/chloe/production.nix
@@ -19,8 +19,9 @@ in {
19 systemd.services.phpfpm-chloe_prod.after = lib.mkAfter chloe.phpFpm.serviceDeps; 19 systemd.services.phpfpm-chloe_prod.after = lib.mkAfter chloe.phpFpm.serviceDeps;
20 systemd.services.phpfpm-chloe_prod.wants = chloe.phpFpm.serviceDeps; 20 systemd.services.phpfpm-chloe_prod.wants = chloe.phpFpm.serviceDeps;
21 services.phpfpm.pools.chloe_prod = { 21 services.phpfpm.pools.chloe_prod = {
22 listen = chloe.phpFpm.socket; 22 user = config.services.httpd.Prod.user;
23 extraConfig = chloe.phpFpm.pool; 23 group = config.services.httpd.Prod.group;
24 settings = chloe.phpFpm.pool;
24 phpOptions = config.services.phpfpm.phpOptions + '' 25 phpOptions = config.services.phpfpm.phpOptions + ''
25 extension=${pkgs.php}/lib/php/extensions/mysqli.so 26 extension=${pkgs.php}/lib/php/extensions/mysqli.so
26 ''; 27 '';
@@ -39,7 +40,7 @@ in {
39 RewriteCond "%{HTTP_HOST}" "!^www\.osteopathe-cc\.fr$" [NC] 40 RewriteCond "%{HTTP_HOST}" "!^www\.osteopathe-cc\.fr$" [NC]
40 RewriteRule ^(.+)$ https://www.osteopathe-cc.fr$1 [R=302,L] 41 RewriteRule ^(.+)$ https://www.osteopathe-cc.fr$1 [R=302,L]
41 '' 42 ''
42 chloe.apache.vhostConf 43 (chloe.apache.vhostConf config.services.phpfpm.pools.chloe_prod.socket)
43 ]; 44 ];
44 }; 45 };
45 services.websites.env.production.watchPaths = [ 46 services.websites.env.production.watchPaths = [
diff --git a/modules/private/websites/commons/adminer.nix b/modules/private/websites/commons/adminer.nix
index d591c90..1803468 100644
--- a/modules/private/websites/commons/adminer.nix
+++ b/modules/private/websites/commons/adminer.nix
@@ -1,24 +1,5 @@
1{}: 1{ config, callPackage }:
2rec { 2callPackage ../tools/tools/adminer.nix {
3 phpFpm = { 3 adminer = null;
4 socket = "/var/run/phpfpm/adminer.sock"; 4 forcePhpSocket = config.services.phpfpm.pools.adminer.socket;
5 };
6 apache = rec {
7 modules = [ "proxy_fcgi" ];
8 webappName = "_adminer";
9 root = "/run/current-system/webapps/${webappName}";
10 vhostConf = ''
11 Alias /adminer ${root}
12 <Directory ${root}>
13 DirectoryIndex index.php
14 <FilesMatch "\.php$">
15 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost"
16 </FilesMatch>
17
18 Use LDAPConnect
19 Require ldap-group cn=users,cn=mysql,cn=pam,ou=services,dc=immae,dc=eu
20 Require ldap-group cn=users,cn=postgresql,cn=pam,ou=services,dc=immae,dc=eu
21 </Directory>
22 '';
23 };
24} 5}
diff --git a/modules/private/websites/connexionswing/integration.nix b/modules/private/websites/connexionswing/integration.nix
index 81cff8f..4f7b72d 100644
--- a/modules/private/websites/connexionswing/integration.nix
+++ b/modules/private/websites/connexionswing/integration.nix
@@ -25,15 +25,17 @@ in {
25 "./bin/console --env=${app.environment} cache:clear --no-warmup" 25 "./bin/console --env=${app.environment} cache:clear --no-warmup"
26 ]; 26 ];
27 phpOpenbasedir = [ "/tmp" "/run/wrappers/bin/sendmail" ]; 27 phpOpenbasedir = [ "/tmp" "/run/wrappers/bin/sendmail" ];
28 phpPool = '' 28 phpPool = {
29 php_admin_value[upload_max_filesize] = 20M 29 "php_admin_value[upload_max_filesize]" = "20M";
30 php_admin_value[post_max_size] = 20M 30 "php_admin_value[post_max_size]" = "20M";
31 ;php_admin_flag[log_errors] = on 31 #"php_admin_flag[log_errors]" = "on";
32 pm = ondemand 32 "pm" = "ondemand";
33 pm.max_children = 5 33 "pm.max_children" = "5";
34 pm.process_idle_timeout = 60 34 "pm.process_idle_timeout" = "60";
35 env[SYMFONY_DEBUG_MODE] = "yes" 35 };
36 ''; 36 phpEnv = {
37 SYMFONY_DEBUG_MODE = "yes";
38 };
37 phpWatchFiles = [ 39 phpWatchFiles = [
38 config.secrets.fullPaths."webapps/${app.environment}-connexionswing" 40 config.secrets.fullPaths."webapps/${app.environment}-connexionswing"
39 ]; 41 ];
diff --git a/modules/private/websites/connexionswing/production.nix b/modules/private/websites/connexionswing/production.nix
index fa31931..0b52af1 100644
--- a/modules/private/websites/connexionswing/production.nix
+++ b/modules/private/websites/connexionswing/production.nix
@@ -26,16 +26,16 @@ in {
26 "./bin/console --env=${app.environment} cache:clear --no-warmup" 26 "./bin/console --env=${app.environment} cache:clear --no-warmup"
27 ]; 27 ];
28 phpOpenbasedir = [ "/tmp" "/run/wrappers/bin/sendmail" ]; 28 phpOpenbasedir = [ "/tmp" "/run/wrappers/bin/sendmail" ];
29 phpPool = '' 29 phpPool = {
30 php_admin_value[upload_max_filesize] = 20M 30 "php_admin_value[upload_max_filesize]" = "20M";
31 php_admin_value[post_max_size] = 20M 31 "php_admin_value[post_max_size]" = "20M";
32 ;php_admin_flag[log_errors] = on 32 #"php_admin_flag[log_errors]" = "on";
33 pm = dynamic 33 "pm" = "dynamic";
34 pm.max_children = 20 34 "pm.max_children" = "20";
35 pm.start_servers = 2 35 "pm.start_servers" = "2";
36 pm.min_spare_servers = 1 36 "pm.min_spare_servers" = "1";
37 pm.max_spare_servers = 3 37 "pm.max_spare_servers" = "3";
38 ''; 38 };
39 phpWatchFiles = [ 39 phpWatchFiles = [
40 config.secrets.fullPaths."webapps/${app.environment}-connexionswing" 40 config.secrets.fullPaths."webapps/${app.environment}-connexionswing"
41 ]; 41 ];
diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix
index 5c0e655..529ec5c 100644
--- a/modules/private/websites/default.nix
+++ b/modules/private/websites/default.nix
@@ -87,9 +87,9 @@ in
87 #openssl = self.openssl_1_1; 87 #openssl = self.openssl_1_1;
88 php = php72; 88 php = php72;
89 php72 = (super.php72.override { 89 php72 = (super.php72.override {
90 mysql.connector-c = self.mariadb; 90 config.php.mysqlnd = true;
91 config.php.mysqlnd = false;
92 config.php.mysqli = false; 91 config.php.mysqli = false;
92 config.php.mhash = true; # Is it needed?
93 }).overrideAttrs(old: rec { 93 }).overrideAttrs(old: rec {
94 # Didn't manage to build with mysqli + mysql_config connector 94 # Didn't manage to build with mysqli + mysql_config connector
95 configureFlags = old.configureFlags ++ [ 95 configureFlags = old.configureFlags ++ [
@@ -140,9 +140,9 @@ in
140 ; 30 days (minutes) 140 ; 30 days (minutes)
141 session.cache_expire = 43200 141 session.cache_expire = 43200
142 ''; 142 '';
143 extraConfig = '' 143 settings = {
144 log_level = notice 144 log_level = "notice";
145 ''; 145 };
146 }; 146 };
147 147
148 services.filesWatcher.httpdProd.paths = [ "/var/secrets/apache-ldap" ]; 148 services.filesWatcher.httpdProd.paths = [ "/var/secrets/apache-ldap" ];
diff --git a/modules/private/websites/emilia/richie.nix b/modules/private/websites/emilia/richie.nix
index f7b4f8d..98ab1cd 100644
--- a/modules/private/websites/emilia/richie.nix
+++ b/modules/private/websites/emilia/richie.nix
@@ -49,22 +49,23 @@ in
49 ''; 49 '';
50 }; 50 };
51 services.phpfpm.pools.richie_production = { 51 services.phpfpm.pools.richie_production = {
52 listen = "/run/phpfpm/richie_production.sock"; 52 user = "wwwrun";
53 extraConfig = '' 53 group = "wwwrun";
54 user = wwwrun 54 settings = {
55 group = wwwrun 55 "listen.owner" = "wwwrun";
56 listen.owner = wwwrun 56 "listen.group" = "wwwrun";
57 listen.group = wwwrun
58 57
59 pm = ondemand 58 "pm" = "ondemand";
60 pm.max_children = 5 59 "pm.max_children" = "5";
61 pm.process_idle_timeout = 60 60 "pm.process_idle_timeout" = "60";
62 61
63 env[PATH] = /run/current-system/sw/bin:${lib.makeBinPath [ pkgs.imagemagick ]} 62 "php_admin_value[open_basedir]" = "${vardir}:/var/lib/php/sessions/richie_production:/var/secrets/webapps/prod-richie:${richieSrc}:/tmp";
64 env[BDD_CONNECT] = "/var/secrets/webapps/prod-richie" 63 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/richie_production";
65 php_admin_value[open_basedir] = "${vardir}:/var/lib/php/sessions/richie_production:/var/secrets/webapps/prod-richie:${richieSrc}:/tmp" 64 };
66 php_admin_value[session.save_path] = "/var/lib/php/sessions/richie_production" 65 phpEnv = {
67 ''; 66 PATH = "/run/current-system/sw/bin:${lib.makeBinPath [ pkgs.imagemagick ]}";
67 BDD_CONNECT = "/var/secrets/webapps/prod-richie";
68 };
68 phpOptions = config.services.phpfpm.phpOptions + '' 69 phpOptions = config.services.phpfpm.phpOptions + ''
69 date.timezone = 'Europe/Paris' 70 date.timezone = 'Europe/Paris'
70 extension=${pkgs.php}/lib/php/extensions/mysqli.so 71 extension=${pkgs.php}/lib/php/extensions/mysqli.so
@@ -91,7 +92,7 @@ in
91 Require all granted 92 Require all granted
92 93
93 <FilesMatch "\.php$"> 94 <FilesMatch "\.php$">
94 SetHandler "proxy:unix:/run/phpfpm/richie_production.sock|fcgi://localhost" 95 SetHandler "proxy:unix:${config.services.phpfpm.pools.richie_production.socket}|fcgi://localhost"
95 </FilesMatch> 96 </FilesMatch>
96 </Directory> 97 </Directory>
97 '' 98 ''
diff --git a/modules/private/websites/evariste/production.nix b/modules/private/websites/evariste/production.nix
index 00e6fe1..43b26c8 100644
--- a/modules/private/websites/evariste/production.nix
+++ b/modules/private/websites/evariste/production.nix
@@ -21,20 +21,19 @@ in {
21 ''; 21 '';
22 }; 22 };
23 services.phpfpm.pools.nsievariste = { 23 services.phpfpm.pools.nsievariste = {
24 listen = "/run/phpfpm/nsievariste.sock"; 24 user = "wwwrun";
25 extraConfig = '' 25 group = "wwwrun";
26 user = wwwrun 26 settings = {
27 group = wwwrun 27 "listen.owner" = "wwwrun";
28 listen.owner = wwwrun 28 "listen.group" = "wwwrun";
29 listen.group = wwwrun
30 29
31 pm = ondemand 30 "pm" = "ondemand";
32 pm.max_children = 5 31 "pm.max_children" = "5";
33 pm.process_idle_timeout = 60 32 "pm.process_idle_timeout" = "60";
34 33
35 php_admin_value[open_basedir] = "/var/lib/php/sessions/nsievariste:${nsiVarDir}:/tmp" 34 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/nsievariste:${nsiVarDir}:/tmp";
36 php_admin_value[session.save_path] = "/var/lib/php/sessions/nsievariste" 35 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/nsievariste";
37 ''; 36 };
38 }; 37 };
39 services.websites.env.production.vhostConfs.nsievariste = { 38 services.websites.env.production.vhostConfs.nsievariste = {
40 certName = "eldiron"; 39 certName = "eldiron";
@@ -46,7 +45,7 @@ in {
46 Use Stats nsievariste.immae.eu 45 Use Stats nsievariste.immae.eu
47 46
48 <FilesMatch "\.php$"> 47 <FilesMatch "\.php$">
49 SetHandler "proxy:unix:/run/phpfpm/nsievariste.sock|fcgi://localhost" 48 SetHandler "proxy:unix:${config.services.phpfpm.pools.nsievariste.socket}|fcgi://localhost"
50 </FilesMatch> 49 </FilesMatch>
51 50
52 <Directory ${nsiVarDir}> 51 <Directory ${nsiVarDir}>
@@ -60,20 +59,19 @@ in {
60 }; 59 };
61 60
62 services.phpfpm.pools.stmgevariste = { 61 services.phpfpm.pools.stmgevariste = {
63 listen = "/run/phpfpm/stmgevariste.sock"; 62 user = "wwwrun";
64 extraConfig = '' 63 group = "wwwrun";
65 user = wwwrun 64 settings = {
66 group = wwwrun 65 "listen.owner" = "wwwrun";
67 listen.owner = wwwrun 66 "listen.group" = "wwwrun";
68 listen.group = wwwrun
69 67
70 pm = ondemand 68 "pm" = "ondemand";
71 pm.max_children = 5 69 "pm.max_children" = "5";
72 pm.process_idle_timeout = 60 70 "pm.process_idle_timeout" = "60";
73 71
74 php_admin_value[open_basedir] = "/var/lib/php/sessions/stmgevariste:${stmgVarDir}:/tmp" 72 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/stmgevariste:${stmgVarDir}:/tmp";
75 php_admin_value[session.save_path] = "/var/lib/php/sessions/stmgevariste" 73 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/stmgevariste";
76 ''; 74 };
77 }; 75 };
78 services.websites.env.production.vhostConfs.stmgevariste = { 76 services.websites.env.production.vhostConfs.stmgevariste = {
79 certName = "eldiron"; 77 certName = "eldiron";
@@ -85,7 +83,7 @@ in {
85 Use Stats stmgevariste.immae.eu 83 Use Stats stmgevariste.immae.eu
86 84
87 <FilesMatch "\.php$"> 85 <FilesMatch "\.php$">
88 SetHandler "proxy:unix:/run/phpfpm/stmgevariste.sock|fcgi://localhost" 86 SetHandler "proxy:unix:${config.services.phpfpm.pools.stmgevariste.socket}|fcgi://localhost"
89 </FilesMatch> 87 </FilesMatch>
90 88
91 <Directory ${stmgVarDir}> 89 <Directory ${stmgVarDir}>
diff --git a/modules/private/websites/florian/app.nix b/modules/private/websites/florian/app.nix
index e262c59..c65c26f 100644
--- a/modules/private/websites/florian/app.nix
+++ b/modules/private/websites/florian/app.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 secrets = config.myEnv.websites.tellesflorian.integration; 4 secrets = config.myEnv.websites.tellesflorian.integration;
5 app = pkgs.webapps.tellesflorian.override { environment = secrets.environment; }; 5 app = pkgs.webapps.tellesflorian.override { environment = secrets.environment; };
6 cfg = config.myServices.websites.florian.app; 6 cfg = config.myServices.websites.florian.app;
@@ -24,15 +24,17 @@ in {
24 "./bin/console --env=${app.environment} cache:clear --no-warmup" 24 "./bin/console --env=${app.environment} cache:clear --no-warmup"
25 ]; 25 ];
26 phpOpenbasedir = [ "/tmp" ]; 26 phpOpenbasedir = [ "/tmp" ];
27 phpPool = '' 27 phpPool = {
28 php_admin_value[upload_max_filesize] = 20M 28 "php_admin_value[upload_max_filesize]" = "20M";
29 php_admin_value[post_max_size] = 20M 29 "php_admin_value[post_max_size]" = "20M";
30 ;php_admin_flag[log_errors] = on 30 #"php_admin_flag[log_errors]" = "on";
31 pm = ondemand 31 "pm" = "ondemand";
32 pm.max_children = 5 32 "pm.max_children" = "5";
33 pm.process_idle_timeout = 60 33 "pm.process_idle_timeout" = "60";
34 env[SYMFONY_DEBUG_MODE] = "yes" 34 };
35 ''; 35 phpEnv = {
36 SYMFONY_DEBUG_MODE = "yes";
37 };
36 phpWatchFiles = [ 38 phpWatchFiles = [
37 config.secrets.fullPaths."webapps/${app.environment}-tellesflorian" 39 config.secrets.fullPaths."webapps/${app.environment}-tellesflorian"
38 ]; 40 ];
@@ -134,7 +136,7 @@ in {
134 136
135 </Directory> 137 </Directory>
136 '' 138 ''
137 adminer.apache.vhostConf 139 (adminer.apache.vhostConf null)
138 ]; 140 ];
139 }; 141 };
140 }; 142 };
diff --git a/modules/private/websites/florian/integration.nix b/modules/private/websites/florian/integration.nix
index 57c4006..4ee160a 100644
--- a/modules/private/websites/florian/integration.nix
+++ b/modules/private/websites/florian/integration.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.florian.integration; 4 cfg = config.myServices.websites.florian.integration;
5 varDir = "/var/lib/ftp/florian"; 5 varDir = "/var/lib/ftp/florian";
6 env = config.myEnv.websites.florian; 6 env = config.myEnv.websites.florian;
@@ -8,7 +8,7 @@ in {
8 options.myServices.websites.florian.integration.enable = lib.mkEnableOption "enable Florian's website integration"; 8 options.myServices.websites.florian.integration.enable = lib.mkEnableOption "enable Florian's website integration";
9 9
10 config = lib.mkIf cfg.enable { 10 config = lib.mkIf cfg.enable {
11 security.acme2.certs."ftp".extraDomains."florian.immae.eu" = null; 11 security.acme.certs."ftp".extraDomains."florian.immae.eu" = null;
12 12
13 services.websites.env.integration.modules = adminer.apache.modules; 13 services.websites.env.integration.modules = adminer.apache.modules;
14 services.websites.env.integration.vhostConfs.florian = { 14 services.websites.env.integration.vhostConfs.florian = {
@@ -17,7 +17,7 @@ in {
17 hosts = [ "florian.immae.eu" ]; 17 hosts = [ "florian.immae.eu" ];
18 root = "${varDir}/florian.immae.eu"; 18 root = "${varDir}/florian.immae.eu";
19 extraConfig = [ 19 extraConfig = [
20 adminer.apache.vhostConf 20 (adminer.apache.vhostConf null)
21 '' 21 ''
22 ServerAdmin ${env.server_admin} 22 ServerAdmin ${env.server_admin}
23 23
diff --git a/modules/private/websites/florian/production.nix b/modules/private/websites/florian/production.nix
index 1abc715..16c6022 100644
--- a/modules/private/websites/florian/production.nix
+++ b/modules/private/websites/florian/production.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.florian.production; 4 cfg = config.myServices.websites.florian.production;
5 varDir = "/var/lib/ftp/florian"; 5 varDir = "/var/lib/ftp/florian";
6 env = config.myEnv.websites.florian; 6 env = config.myEnv.websites.florian;
@@ -8,7 +8,7 @@ in {
8 options.myServices.websites.florian.production.enable = lib.mkEnableOption "enable Florian's website production"; 8 options.myServices.websites.florian.production.enable = lib.mkEnableOption "enable Florian's website production";
9 9
10 config = lib.mkIf cfg.enable { 10 config = lib.mkIf cfg.enable {
11 security.acme2.certs."ftp".extraDomains."tellesflorian.com" = null; 11 security.acme.certs."ftp".extraDomains."tellesflorian.com" = null;
12 12
13 services.websites.env.production.modules = adminer.apache.modules; 13 services.websites.env.production.modules = adminer.apache.modules;
14 services.websites.env.production.vhostConfs.florian = { 14 services.websites.env.production.vhostConfs.florian = {
@@ -17,7 +17,7 @@ in {
17 hosts = [ "tellesflorian.com" "www.tellesflorian.com" ]; 17 hosts = [ "tellesflorian.com" "www.tellesflorian.com" ];
18 root = "${varDir}/tellesflorian.com"; 18 root = "${varDir}/tellesflorian.com";
19 extraConfig = [ 19 extraConfig = [
20 adminer.apache.vhostConf 20 (adminer.apache.vhostConf null)
21 '' 21 ''
22 ServerAdmin ${env.server_admin} 22 ServerAdmin ${env.server_admin}
23 23
diff --git a/modules/private/websites/isabelle/aten_integration.nix b/modules/private/websites/isabelle/aten_integration.nix
index a2a087c..fb6eda9 100644
--- a/modules/private/websites/isabelle/aten_integration.nix
+++ b/modules/private/websites/isabelle/aten_integration.nix
@@ -23,15 +23,17 @@ in {
23 "APP_ENV=${app.environment} ./bin/console --env=${app.environment} cache:clear --no-warmup" 23 "APP_ENV=${app.environment} ./bin/console --env=${app.environment} cache:clear --no-warmup"
24 ]; 24 ];
25 phpOpenbasedir = [ "/tmp" ]; 25 phpOpenbasedir = [ "/tmp" ];
26 phpPool = '' 26 phpPool = {
27 php_admin_value[upload_max_filesize] = 20M 27 "php_admin_value[upload_max_filesize]" = "20M";
28 php_admin_value[post_max_size] = 20M 28 "php_admin_value[post_max_size]" = "20M";
29 ;php_admin_flag[log_errors] = on 29 #"php_admin_flag[log_errors]" = "on";
30 pm = ondemand 30 "pm" = "ondemand";
31 pm.max_children = 5 31 "pm.max_children" = "5";
32 pm.process_idle_timeout = 60 32 "pm.process_idle_timeout" = "60";
33 env[SYMFONY_DEBUG_MODE] = "yes" 33 };
34 ''; 34 phpEnv = {
35 SYMFONY_DEBUG_MODE = "yes";
36 };
35 }; 37 };
36 38
37 secrets.keys = [{ 39 secrets.keys = [{
diff --git a/modules/private/websites/isabelle/aten_production.nix b/modules/private/websites/isabelle/aten_production.nix
index 8e33f0f..cf7e4a2 100644
--- a/modules/private/websites/isabelle/aten_production.nix
+++ b/modules/private/websites/isabelle/aten_production.nix
@@ -24,16 +24,16 @@ in {
24 "APP_ENV=${app.environment} ./bin/console --env=${app.environment} cache:clear --no-warmup" 24 "APP_ENV=${app.environment} ./bin/console --env=${app.environment} cache:clear --no-warmup"
25 ]; 25 ];
26 phpOpenbasedir = [ "/tmp" ]; 26 phpOpenbasedir = [ "/tmp" ];
27 phpPool = '' 27 phpPool = {
28 php_admin_value[upload_max_filesize] = 20M 28 "php_admin_value[upload_max_filesize]" = "20M";
29 php_admin_value[post_max_size] = 20M 29 "php_admin_value[post_max_size]" = "20M";
30 ;php_admin_flag[log_errors] = on 30 #"php_admin_flag[log_errors]" = "on";
31 pm = dynamic 31 "pm" = "dynamic";
32 pm.max_children = 20 32 "pm.max_children" = "20";
33 pm.start_servers = 2 33 "pm.start_servers" = "2";
34 pm.min_spare_servers = 1 34 "pm.min_spare_servers" = "1";
35 pm.max_spare_servers = 3 35 "pm.max_spare_servers" = "3";
36 ''; 36 };
37 }; 37 };
38 38
39 secrets.keys = [{ 39 secrets.keys = [{
diff --git a/modules/private/websites/isabelle/iridologie.nix b/modules/private/websites/isabelle/iridologie.nix
index 460bd2a..ffbf259 100644
--- a/modules/private/websites/isabelle/iridologie.nix
+++ b/modules/private/websites/isabelle/iridologie.nix
@@ -19,8 +19,9 @@ in {
19 systemd.services.phpfpm-iridologie.after = lib.mkAfter iridologie.phpFpm.serviceDeps; 19 systemd.services.phpfpm-iridologie.after = lib.mkAfter iridologie.phpFpm.serviceDeps;
20 systemd.services.phpfpm-iridologie.wants = iridologie.phpFpm.serviceDeps; 20 systemd.services.phpfpm-iridologie.wants = iridologie.phpFpm.serviceDeps;
21 services.phpfpm.pools.iridologie = { 21 services.phpfpm.pools.iridologie = {
22 listen = iridologie.phpFpm.socket; 22 user = config.services.httpd.Prod.user;
23 extraConfig = iridologie.phpFpm.pool; 23 group = config.services.httpd.Prod.group;
24 settings = iridologie.phpFpm.pool;
24 phpOptions = config.services.phpfpm.phpOptions + '' 25 phpOptions = config.services.phpfpm.phpOptions + ''
25 extension=${pkgs.php}/lib/php/extensions/mysqli.so 26 extension=${pkgs.php}/lib/php/extensions/mysqli.so
26 ''; 27 '';
@@ -39,7 +40,7 @@ in {
39 RewriteCond "%{HTTP_HOST}" "!^iridologie\.icommandeur\.org$" [NC] 40 RewriteCond "%{HTTP_HOST}" "!^iridologie\.icommandeur\.org$" [NC]
40 RewriteRule ^(.+)$ https://iridologie.icommandeur.org$1 [R=302,L] 41 RewriteRule ^(.+)$ https://iridologie.icommandeur.org$1 [R=302,L]
41 '' 42 ''
42 iridologie.apache.vhostConf 43 (iridologie.apache.vhostConf config.services.phpfpm.pools.iridologie.socket)
43 ]; 44 ];
44 }; 45 };
45 services.websites.env.production.watchPaths = [ 46 services.websites.env.production.watchPaths = [
diff --git a/modules/private/websites/isabelle/spip_builder.nix b/modules/private/websites/isabelle/spip_builder.nix
index 2ab5394..e1130d1 100644
--- a/modules/private/websites/isabelle/spip_builder.nix
+++ b/modules/private/websites/isabelle/spip_builder.nix
@@ -3,28 +3,25 @@ rec {
3 app = iridologie.override { inherit (config) environment; }; 3 app = iridologie.override { inherit (config) environment; };
4 phpFpm = rec { 4 phpFpm = rec {
5 serviceDeps = [ "mysql.service" ]; 5 serviceDeps = [ "mysql.service" ];
6 socket = "/var/run/phpfpm/iridologie-${app.environment}.sock"; 6 pool = {
7 pool = '' 7 "listen.owner" = "${apacheUser}";
8 user = ${apacheUser} 8 "listen.group" = "${apacheGroup}";
9 group = ${apacheGroup} 9 "php_admin_value[upload_max_filesize]" = "20M";
10 listen.owner = ${apacheUser} 10 "php_admin_value[post_max_size]" = "20M";
11 listen.group = ${apacheGroup} 11 #"php_admin_flag[log_errors]" = "on";
12 php_admin_value[upload_max_filesize] = 20M 12 "php_admin_value[open_basedir]" = "${app.spipConfig}:${configDir}:${app}:${app.varDir}:/tmp";
13 php_admin_value[post_max_size] = 20M 13 "php_admin_value[session.save_path]" = "${app.varDir}/phpSessions";
14 ;php_admin_flag[log_errors] = on 14 } // (if app.environment == "dev" then {
15 php_admin_value[open_basedir] = "${app.spipConfig}:${configDir}:${app}:${app.varDir}:/tmp" 15 "pm" = "ondemand";
16 php_admin_value[session.save_path] = "${app.varDir}/phpSessions" 16 "pm.max_children" = "5";
17 ${if app.environment == "dev" then '' 17 "pm.process_idle_timeout" = "60";
18 pm = ondemand 18 } else {
19 pm.max_children = 5 19 "pm" = "dynamic";
20 pm.process_idle_timeout = 60 20 "pm.max_children" = "20";
21 '' else '' 21 "pm.start_servers" = "2";
22 pm = dynamic 22 "pm.min_spare_servers" = "1";
23 pm.max_children = 20 23 "pm.max_spare_servers" = "3";
24 pm.start_servers = 2 24 });
25 pm.min_spare_servers = 1
26 pm.max_spare_servers = 3
27 ''}'';
28 }; 25 };
29 keys = [{ 26 keys = [{
30 dest = "webapps/${app.environment}-iridologie"; 27 dest = "webapps/${app.environment}-iridologie";
@@ -51,13 +48,13 @@ rec {
51 modules = [ "proxy_fcgi" ]; 48 modules = [ "proxy_fcgi" ];
52 webappName = "iridologie_${app.environment}"; 49 webappName = "iridologie_${app.environment}";
53 root = "/run/current-system/webapps/${webappName}"; 50 root = "/run/current-system/webapps/${webappName}";
54 vhostConf = '' 51 vhostConf = socket: ''
55 Include /var/secrets/webapps/${app.environment}-iridologie 52 Include /var/secrets/webapps/${app.environment}-iridologie
56 53
57 RewriteEngine On 54 RewriteEngine On
58 55
59 <FilesMatch "\.php$"> 56 <FilesMatch "\.php$">
60 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 57 SetHandler "proxy:unix:${socket}|fcgi://localhost"
61 </FilesMatch> 58 </FilesMatch>
62 59
63 <Directory ${root}> 60 <Directory ${root}>
diff --git a/modules/private/websites/leila/production.nix b/modules/private/websites/leila/production.nix
index e8591c8..3b289cf 100644
--- a/modules/private/websites/leila/production.nix
+++ b/modules/private/websites/leila/production.nix
@@ -7,19 +7,18 @@ in {
7 7
8 config = lib.mkIf cfg.enable { 8 config = lib.mkIf cfg.enable {
9 services.phpfpm.pools.leila = { 9 services.phpfpm.pools.leila = {
10 listen = "/run/phpfpm/leila.sock"; 10 user = "wwwrun";
11 extraConfig = '' 11 group = "wwwrun";
12 user = wwwrun 12 settings = {
13 group = wwwrun 13 "listen.owner" = "wwwrun";
14 listen.owner = wwwrun 14 "listen.group" = "wwwrun";
15 listen.group = wwwrun
16 15
17 pm = ondemand 16 "pm" = "ondemand";
18 pm.max_children = 5 17 "pm.max_children" = "5";
19 pm.process_idle_timeout = 60 18 "pm.process_idle_timeout" = "60";
20 19
21 php_admin_value[open_basedir] = "${varDir}:/tmp" 20 "php_admin_value[open_basedir]" = "${varDir}:/tmp";
22 ''; 21 };
23 }; 22 };
24 23
25 services.webstats.sites = [ 24 services.webstats.sites = [
@@ -46,7 +45,7 @@ in {
46 Require ldap-group cn=chorale.leila.bouya.org,cn=httpd,ou=services,dc=immae,dc=eu 45 Require ldap-group cn=chorale.leila.bouya.org,cn=httpd,ou=services,dc=immae,dc=eu
47 46
48 <FilesMatch "\.php$"> 47 <FilesMatch "\.php$">
49 SetHandler "proxy:unix:/run/phpfpm/leila.sock|fcgi://localhost" 48 SetHandler "proxy:unix:${config.services.phpfpm.pools.leila.socket}|fcgi://localhost"
50 </FilesMatch> 49 </FilesMatch>
51 </Directory> 50 </Directory>
52 '' 51 ''
@@ -66,7 +65,7 @@ in {
66 AllowOverride None 65 AllowOverride None
67 66
68 <FilesMatch "\.php$"> 67 <FilesMatch "\.php$">
69 SetHandler "proxy:unix:/run/phpfpm/leila.sock|fcgi://localhost" 68 SetHandler "proxy:unix:${config.services.phpfpm.pools.leila.socket}|fcgi://localhost"
70 </FilesMatch> 69 </FilesMatch>
71 </Directory> 70 </Directory>
72 '' 71 ''
@@ -89,7 +88,7 @@ in {
89 Require ldap-group cn=chorale.leila.bouya.org,cn=httpd,ou=services,dc=immae,dc=eu 88 Require ldap-group cn=chorale.leila.bouya.org,cn=httpd,ou=services,dc=immae,dc=eu
90 89
91 <FilesMatch "\.php$"> 90 <FilesMatch "\.php$">
92 SetHandler "proxy:unix:/run/phpfpm/leila.sock|fcgi://localhost" 91 SetHandler "proxy:unix:${config.services.phpfpm.pools.leila.socket}|fcgi://localhost"
93 </FilesMatch> 92 </FilesMatch>
94 </Directory> 93 </Directory>
95 <Directory ${varDir}> 94 <Directory ${varDir}>
diff --git a/modules/private/websites/ludivinecassal/integration.nix b/modules/private/websites/ludivinecassal/integration.nix
index 1cbfd12..d304fdf 100644
--- a/modules/private/websites/ludivinecassal/integration.nix
+++ b/modules/private/websites/ludivinecassal/integration.nix
@@ -23,15 +23,17 @@ in {
23 "./bin/console --env=${app.environment} cache:clear --no-warmup" 23 "./bin/console --env=${app.environment} cache:clear --no-warmup"
24 ]; 24 ];
25 phpOpenbasedir = [ "/tmp" ]; 25 phpOpenbasedir = [ "/tmp" ];
26 phpPool = '' 26 phpPool = {
27 php_admin_value[upload_max_filesize] = 20M 27 "php_admin_value[upload_max_filesize]" = "20M";
28 php_admin_value[post_max_size] = 20M 28 "php_admin_value[post_max_size]" = "20M";
29 ;php_admin_flag[log_errors] = on 29 #"php_admin_flag[log_errors]" = "on";
30 pm = ondemand 30 "pm" = "ondemand";
31 pm.max_children = 5 31 "pm.max_children" = "5";
32 pm.process_idle_timeout = 60 32 "pm.process_idle_timeout" = "60";
33 env[SYMFONY_DEBUG_MODE] = "yes" 33 };
34 ''; 34 phpEnv = {
35 SYMFONY_DEBUG_MODE = "yes";
36 };
35 phpWatchFiles = [ 37 phpWatchFiles = [
36 config.secrets.fullPaths."webapps/${app.environment}-ludivinecassal" 38 config.secrets.fullPaths."webapps/${app.environment}-ludivinecassal"
37 ]; 39 ];
diff --git a/modules/private/websites/ludivinecassal/production.nix b/modules/private/websites/ludivinecassal/production.nix
index 7cf00f0..5761be7 100644
--- a/modules/private/websites/ludivinecassal/production.nix
+++ b/modules/private/websites/ludivinecassal/production.nix
@@ -24,16 +24,16 @@ in {
24 "./bin/console --env=${app.environment} cache:clear --no-warmup" 24 "./bin/console --env=${app.environment} cache:clear --no-warmup"
25 ]; 25 ];
26 phpOpenbasedir = [ "/tmp" ]; 26 phpOpenbasedir = [ "/tmp" ];
27 phpPool = '' 27 phpPool = {
28 php_admin_value[upload_max_filesize] = 20M 28 "php_admin_value[upload_max_filesize]" = "20M";
29 php_admin_value[post_max_size] = 20M 29 "php_admin_value[post_max_size]" = "20M";
30 ;php_admin_flag[log_errors] = on 30 #"php_admin_flag[log_errors]" = "on";
31 pm = dynamic 31 "pm" = "dynamic";
32 pm.max_children = 20 32 "pm.max_children" = "20";
33 pm.start_servers = 2 33 "pm.start_servers" = "2";
34 pm.min_spare_servers = 1 34 "pm.min_spare_servers" = "1";
35 pm.max_spare_servers = 3 35 "pm.max_spare_servers" = "3";
36 ''; 36 };
37 phpWatchFiles = [ 37 phpWatchFiles = [
38 config.secrets.fullPaths."webapps/${app.environment}-ludivinecassal" 38 config.secrets.fullPaths."webapps/${app.environment}-ludivinecassal"
39 ]; 39 ];
diff --git a/modules/private/websites/nassime/production.nix b/modules/private/websites/nassime/production.nix
index 293519f..f9468f9 100644
--- a/modules/private/websites/nassime/production.nix
+++ b/modules/private/websites/nassime/production.nix
@@ -9,7 +9,7 @@ in {
9 config = lib.mkIf cfg.enable { 9 config = lib.mkIf cfg.enable {
10 services.webstats.sites = [ { name = "nassime.bouya.org"; } ]; 10 services.webstats.sites = [ { name = "nassime.bouya.org"; } ];
11 11
12 security.acme2.certs."ftp".extraDomains."nassime.bouya.org" = null; 12 security.acme.certs."ftp".extraDomains."nassime.bouya.org" = null;
13 13
14 services.websites.env.production.vhostConfs.nassime = { 14 services.websites.env.production.vhostConfs.nassime = {
15 certName = "nassime"; 15 certName = "nassime";
diff --git a/modules/private/websites/naturaloutil/production.nix b/modules/private/websites/naturaloutil/production.nix
index a276c47..1e79141 100644
--- a/modules/private/websites/naturaloutil/production.nix
+++ b/modules/private/websites/naturaloutil/production.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.naturaloutil.production; 4 cfg = config.myServices.websites.naturaloutil.production;
5 varDir = "/var/lib/ftp/jerome"; 5 varDir = "/var/lib/ftp/jerome";
6 env = config.myEnv.websites.jerome; 6 env = config.myEnv.websites.jerome;
@@ -10,7 +10,7 @@ in {
10 config = lib.mkIf cfg.enable { 10 config = lib.mkIf cfg.enable {
11 services.webstats.sites = [ { name = "naturaloutil.immae.eu"; } ]; 11 services.webstats.sites = [ { name = "naturaloutil.immae.eu"; } ];
12 12
13 security.acme2.certs."ftp".extraDomains."naturaloutil.immae.eu" = null; 13 security.acme.certs."ftp".extraDomains."naturaloutil.immae.eu" = null;
14 14
15 secrets.keys = [{ 15 secrets.keys = [{
16 dest = "webapps/prod-naturaloutil"; 16 dest = "webapps/prod-naturaloutil";
@@ -42,21 +42,22 @@ in {
42 systemd.services.phpfpm-jerome.after = lib.mkAfter [ "mysql.service" ]; 42 systemd.services.phpfpm-jerome.after = lib.mkAfter [ "mysql.service" ];
43 systemd.services.phpfpm-jerome.wants = [ "mysql.service" ]; 43 systemd.services.phpfpm-jerome.wants = [ "mysql.service" ];
44 services.phpfpm.pools.jerome = { 44 services.phpfpm.pools.jerome = {
45 listen = "/run/phpfpm/naturaloutil.sock"; 45 user = "wwwrun";
46 extraConfig = '' 46 group = "wwwrun";
47 user = wwwrun 47 settings = {
48 group = wwwrun 48 "listen.owner" = "wwwrun";
49 listen.owner = wwwrun 49 "listen.group" = "wwwrun";
50 listen.group = wwwrun
51 50
52 pm = ondemand 51 "pm" = "ondemand";
53 pm.max_children = 5 52 "pm.max_children" = "5";
54 pm.process_idle_timeout = 60 53 "pm.process_idle_timeout" = "60";
55 54
56 env[BDD_CONNECT] = "/var/secrets/webapps/prod-naturaloutil" 55 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/naturaloutil:/var/secrets/webapps/prod-naturaloutil:${varDir}:/tmp";
57 php_admin_value[open_basedir] = "/var/lib/php/sessions/naturaloutil:/var/secrets/webapps/prod-naturaloutil:${varDir}:/tmp" 56 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/naturaloutil";
58 php_admin_value[session.save_path] = "/var/lib/php/sessions/naturaloutil" 57 };
59 ''; 58 phpEnv = {
59 BDD_CONNECT = "/var/secrets/webapps/prod-naturaloutil";
60 };
60 phpOptions = config.services.phpfpm.phpOptions + '' 61 phpOptions = config.services.phpfpm.phpOptions + ''
61 extension=${pkgs.php}/lib/php/extensions/mysqli.so 62 extension=${pkgs.php}/lib/php/extensions/mysqli.so
62 ''; 63 '';
@@ -68,7 +69,7 @@ in {
68 hosts = ["naturaloutil.immae.eu" ]; 69 hosts = ["naturaloutil.immae.eu" ];
69 root = varDir; 70 root = varDir;
70 extraConfig = [ 71 extraConfig = [
71 adminer.apache.vhostConf 72 (adminer.apache.vhostConf null)
72 '' 73 ''
73 Use Stats naturaloutil.immae.eu 74 Use Stats naturaloutil.immae.eu
74 ServerAdmin ${env.server_admin} 75 ServerAdmin ${env.server_admin}
@@ -76,7 +77,7 @@ in {
76 CustomLog "${varDir}/logs/access_log" combined 77 CustomLog "${varDir}/logs/access_log" combined
77 78
78 <FilesMatch "\.php$"> 79 <FilesMatch "\.php$">
79 SetHandler "proxy:unix:/run/phpfpm/naturaloutil.sock|fcgi://localhost" 80 SetHandler "proxy:unix:${config.services.phpfpm.pools.jerome.socket}|fcgi://localhost"
80 </FilesMatch> 81 </FilesMatch>
81 82
82 <Directory ${varDir}/logs> 83 <Directory ${varDir}/logs>
diff --git a/modules/private/websites/papa/maison_bbc.nix b/modules/private/websites/papa/maison_bbc.nix
index eb61b6d..11e7937 100644
--- a/modules/private/websites/papa/maison_bbc.nix
+++ b/modules/private/websites/papa/maison_bbc.nix
@@ -9,19 +9,18 @@ in {
9 services.duplyBackup.profiles.papa_maison_bbc.rootDir = varDir; 9 services.duplyBackup.profiles.papa_maison_bbc.rootDir = varDir;
10 services.webstats.sites = [ { name = "maison.bbc.bouya.org"; } ]; 10 services.webstats.sites = [ { name = "maison.bbc.bouya.org"; } ];
11 services.phpfpm.pools.papa_maison_bbc = { 11 services.phpfpm.pools.papa_maison_bbc = {
12 listen = "/run/phpfpm/papa_maison_bbc.sock"; 12 user = "wwwrun";
13 extraConfig = '' 13 group = "wwwrun";
14 user = wwwrun 14 settings = {
15 group = wwwrun 15 "listen.owner" = "wwwrun";
16 listen.owner = wwwrun 16 "listen.group" = "wwwrun";
17 listen.group = wwwrun
18 17
19 pm = ondemand 18 "pm" = "ondemand";
20 pm.max_children = 5 19 "pm.max_children" = "5";
21 pm.process_idle_timeout = 60 20 "pm.process_idle_timeout" = "60";
22 21
23 php_admin_value[open_basedir] = "${varDir}" 22 "php_admin_value[open_basedir]" = varDir;
24 ''; 23 };
25 phpOptions = config.services.phpfpm.phpOptions + '' 24 phpOptions = config.services.phpfpm.phpOptions + ''
26 date.timezone = 'Europe/Paris' 25 date.timezone = 'Europe/Paris'
27 extension=${pkgs.php}/lib/php/extensions/mysqli.so 26 extension=${pkgs.php}/lib/php/extensions/mysqli.so
@@ -34,17 +33,17 @@ in {
34 root = varDir; 33 root = varDir;
35 extraConfig = [ 34 extraConfig = [
36 '' 35 ''
37 Alias /.well-known/acme-challenge ${config.security.acme2.certs.papa.webroot}/.well-known/acme-challenge 36 Alias /.well-known/acme-challenge ${config.security.acme.certs.papa.webroot}/.well-known/acme-challenge
38 RedirectMatch 301 ^/((?!(\.well-known|add.php).*$).*)$ https://maison.bbc.bouya.org/$1 37 RedirectMatch 301 ^/((?!(\.well-known|add.php).*$).*)$ https://maison.bbc.bouya.org/$1
39 <Directory ${varDir}> 38 <Directory ${varDir}>
40 DirectoryIndex index.php index.htm index.html 39 DirectoryIndex index.php index.htm index.html
41 AllowOverride None 40 AllowOverride None
42 Require all granted 41 Require all granted
43 <FilesMatch "\.php$"> 42 <FilesMatch "\.php$">
44 SetHandler "proxy:unix:/run/phpfpm/papa_maison_bbc.sock|fcgi://localhost" 43 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
45 </FilesMatch> 44 </FilesMatch>
46 </Directory> 45 </Directory>
47 <Directory "${config.security.acme2.certs.papa.webroot}"> 46 <Directory "${config.security.acme.certs.papa.webroot}">
48 Options Indexes FollowSymLinks 47 Options Indexes FollowSymLinks
49 AllowOverride None 48 AllowOverride None
50 Require all granted 49 Require all granted
@@ -64,7 +63,7 @@ in {
64 AllowOverride None 63 AllowOverride None
65 Require all granted 64 Require all granted
66 <FilesMatch "\.php$"> 65 <FilesMatch "\.php$">
67 SetHandler "proxy:unix:/run/phpfpm/papa_maison_bbc.sock|fcgi://localhost" 66 SetHandler "proxy:unix:${config.services.phpfpm.pools.papa_maison_bbc.socket}|fcgi://localhost"
68 </FilesMatch> 67 </FilesMatch>
69 </Directory> 68 </Directory>
70 '' 69 ''
diff --git a/modules/private/websites/papa/surveillance.nix b/modules/private/websites/papa/surveillance.nix
index f6e1772..1bb6ac8 100644
--- a/modules/private/websites/papa/surveillance.nix
+++ b/modules/private/websites/papa/surveillance.nix
@@ -6,7 +6,7 @@ in {
6 options.myServices.websites.papa.surveillance.enable = lib.mkEnableOption "enable Papa surveillance's website"; 6 options.myServices.websites.papa.surveillance.enable = lib.mkEnableOption "enable Papa surveillance's website";
7 7
8 config = lib.mkIf cfg.enable { 8 config = lib.mkIf cfg.enable {
9 security.acme2.certs."ftp".extraDomains."surveillance.maison.bbc.bouya.org" = null; 9 security.acme.certs."ftp".extraDomains."surveillance.maison.bbc.bouya.org" = null;
10 10
11 services.cron = { 11 services.cron = {
12 systemCronJobs = let 12 systemCronJobs = let
diff --git a/modules/private/websites/piedsjaloux/integration.nix b/modules/private/websites/piedsjaloux/integration.nix
index 5907bc8..76523ed 100644
--- a/modules/private/websites/piedsjaloux/integration.nix
+++ b/modules/private/websites/piedsjaloux/integration.nix
@@ -23,16 +23,18 @@ in {
23 "./bin/console --env=${app.environment} cache:clear --no-warmup" 23 "./bin/console --env=${app.environment} cache:clear --no-warmup"
24 ]; 24 ];
25 phpOpenbasedir = [ "/tmp" ]; 25 phpOpenbasedir = [ "/tmp" ];
26 phpPool = '' 26 phpPool = {
27 php_admin_value[upload_max_filesize] = 20M 27 "php_admin_value[upload_max_filesize]" = "20M";
28 php_admin_value[post_max_size] = 20M 28 "php_admin_value[post_max_size]" = "20M";
29 ;php_admin_flag[log_errors] = on 29 #"php_admin_flag[log_errors]" = "on";
30 env[PATH] = ${lib.makeBinPath [ pkgs.apg pkgs.unzip ]} 30 "pm" = "ondemand";
31 pm = ondemand 31 "pm.max_children" = "5";
32 pm.max_children = 5 32 "pm.process_idle_timeout" = "60";
33 pm.process_idle_timeout = 60 33 };
34 env[SYMFONY_DEBUG_MODE] = "yes" 34 phpEnv = {
35 ''; 35 PATH = lib.makeBinPath [ pkgs.apg pkgs.unzip ];
36 SYMFONY_DEBUG_MODE = "yes";
37 };
36 phpWatchFiles = [ 38 phpWatchFiles = [
37 config.secrets.fullPaths."webapps/${app.environment}-piedsjaloux" 39 config.secrets.fullPaths."webapps/${app.environment}-piedsjaloux"
38 ]; 40 ];
diff --git a/modules/private/websites/piedsjaloux/production.nix b/modules/private/websites/piedsjaloux/production.nix
index e4e29c7..d3e5c2b 100644
--- a/modules/private/websites/piedsjaloux/production.nix
+++ b/modules/private/websites/piedsjaloux/production.nix
@@ -24,17 +24,19 @@ in {
24 "./bin/console --env=${app.environment} cache:clear --no-warmup" 24 "./bin/console --env=${app.environment} cache:clear --no-warmup"
25 ]; 25 ];
26 phpOpenbasedir = [ "/tmp" ]; 26 phpOpenbasedir = [ "/tmp" ];
27 phpPool = '' 27 phpPool = {
28 php_admin_value[upload_max_filesize] = 20M 28 "php_admin_value[upload_max_filesize]" = "20M";
29 php_admin_value[post_max_size] = 20M 29 "php_admin_value[post_max_size]" = "20M";
30 ;php_admin_flag[log_errors] = on 30 #"php_admin_flag[log_errors]" = "on";
31 env[PATH] = ${lib.makeBinPath [ pkgs.apg pkgs.unzip ]} 31 "pm" = "dynamic";
32 pm = dynamic 32 "pm.max_children" = "20";
33 pm.max_children = 20 33 "pm.start_servers" = "2";
34 pm.start_servers = 2 34 "pm.min_spare_servers" = "1";
35 pm.min_spare_servers = 1 35 "pm.max_spare_servers" = "3";
36 pm.max_spare_servers = 3 36 };
37 ''; 37 phpEnv = {
38 PATH = lib.makeBinPath [ pkgs.apg pkgs.unzip ];
39 };
38 phpWatchFiles = [ 40 phpWatchFiles = [
39 config.secrets.fullPaths."webapps/${app.environment}-piedsjaloux" 41 config.secrets.fullPaths."webapps/${app.environment}-piedsjaloux"
40 ]; 42 ];
diff --git a/modules/private/websites/teliotortay/production.nix b/modules/private/websites/teliotortay/production.nix
index 2c62d10..62762ec 100644
--- a/modules/private/websites/teliotortay/production.nix
+++ b/modules/private/websites/teliotortay/production.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../commons/adminer.nix { inherit config; };
4 cfg = config.myServices.websites.telioTortay.production; 4 cfg = config.myServices.websites.telioTortay.production;
5 varDir = "/var/lib/ftp/telio_tortay"; 5 varDir = "/var/lib/ftp/telio_tortay";
6 env = config.myEnv.websites.telioTortay; 6 env = config.myEnv.websites.telioTortay;
@@ -10,7 +10,7 @@ in {
10 config = lib.mkIf cfg.enable { 10 config = lib.mkIf cfg.enable {
11 services.webstats.sites = [ { name = "telio-tortay.immae.eu"; } ]; 11 services.webstats.sites = [ { name = "telio-tortay.immae.eu"; } ];
12 12
13 security.acme2.certs."ftp".extraDomains."telio-tortay.immae.eu" = null; 13 security.acme.certs."ftp".extraDomains."telio-tortay.immae.eu" = null;
14 14
15 system.activationScripts.telio-tortay = { 15 system.activationScripts.telio-tortay = {
16 deps = [ "httpd" ]; 16 deps = [ "httpd" ];
@@ -22,20 +22,19 @@ in {
22 systemd.services.phpfpm-telio-tortay.after = lib.mkAfter [ "mysql.service" ]; 22 systemd.services.phpfpm-telio-tortay.after = lib.mkAfter [ "mysql.service" ];
23 systemd.services.phpfpm-telio-tortay.wants = [ "mysql.service" ]; 23 systemd.services.phpfpm-telio-tortay.wants = [ "mysql.service" ];
24 services.phpfpm.pools.telio-tortay = { 24 services.phpfpm.pools.telio-tortay = {
25 listen = "/run/phpfpm/telio-tortay.sock"; 25 user = "wwwrun";
26 extraConfig = '' 26 group = "wwwrun";
27 user = wwwrun 27 settings = {
28 group = wwwrun 28 "listen.owner" = "wwwrun";
29 listen.owner = wwwrun 29 "listen.group" = "wwwrun";
30 listen.group = wwwrun
31 30
32 pm = ondemand 31 "pm" = "ondemand";
33 pm.max_children = 5 32 "pm.max_children" = "5";
34 pm.process_idle_timeout = 60 33 "pm.process_idle_timeout" = "60";
35 34
36 php_admin_value[open_basedir] = "/var/lib/php/sessions/telio-tortay:${varDir}:/tmp" 35 "php_admin_value[open_basedir]" = "/var/lib/php/sessions/telio-tortay:${varDir}:/tmp";
37 php_admin_value[session.save_path] = "/var/lib/php/sessions/telio-tortay" 36 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/telio-tortay";
38 ''; 37 };
39 phpOptions = config.services.phpfpm.phpOptions + '' 38 phpOptions = config.services.phpfpm.phpOptions + ''
40 disable_functions = "mail" 39 disable_functions = "mail"
41 extension=${pkgs.php}/lib/php/extensions/mysqli.so 40 extension=${pkgs.php}/lib/php/extensions/mysqli.so
@@ -48,7 +47,7 @@ in {
48 hosts = ["telio-tortay.immae.eu" "realistesmedia.fr" "www.realistesmedia.fr" ]; 47 hosts = ["telio-tortay.immae.eu" "realistesmedia.fr" "www.realistesmedia.fr" ];
49 root = varDir; 48 root = varDir;
50 extraConfig = [ 49 extraConfig = [
51 adminer.apache.vhostConf 50 (adminer.apache.vhostConf null)
52 '' 51 ''
53 Use Stats telio-tortay.immae.eu 52 Use Stats telio-tortay.immae.eu
54 ServerAdmin ${env.server_admin} 53 ServerAdmin ${env.server_admin}
@@ -56,7 +55,7 @@ in {
56 CustomLog "${varDir}/logs/access_log" combined 55 CustomLog "${varDir}/logs/access_log" combined
57 56
58 <FilesMatch "\.php$"> 57 <FilesMatch "\.php$">
59 SetHandler "proxy:unix:/run/phpfpm/telio-tortay.sock|fcgi://localhost" 58 SetHandler "proxy:unix:${config.services.phpfpm.pools.telio-tortay.socket}|fcgi://localhost"
60 </FilesMatch> 59 </FilesMatch>
61 60
62 <Directory ${varDir}/logs> 61 <Directory ${varDir}/logs>
diff --git a/modules/private/websites/tools/cloud/default.nix b/modules/private/websites/tools/cloud/default.nix
index 4785074..b9bb32f 100644
--- a/modules/private/websites/tools/cloud/default.nix
+++ b/modules/private/websites/tools/cloud/default.nix
@@ -10,37 +10,34 @@ let
10 basedir = builtins.concatStringsSep ":" ( 10 basedir = builtins.concatStringsSep ":" (
11 [ nextcloud varDir ] 11 [ nextcloud varDir ]
12 ++ builtins.attrValues pkgs.webapps.nextcloud-apps); 12 ++ builtins.attrValues pkgs.webapps.nextcloud-apps);
13 socket = "/var/run/phpfpm/nextcloud.sock";
14 phpConfig = '' 13 phpConfig = ''
15 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so 14 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
16 extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so 15 extension=${pkgs.phpPackages.apcu}/lib/php/extensions/apcu.so
17 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so 16 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
18 ''; 17 '';
19 pool = '' 18 pool = {
20 user = wwwrun 19 "listen.owner" = "wwwrun";
21 group = wwwrun 20 "listen.group" = "wwwrun";
22 listen.owner = wwwrun 21 "pm" = "ondemand";
23 listen.group = wwwrun 22 "pm.max_children" = "60";
24 pm = ondemand 23 "pm.process_idle_timeout" = "60";
25 pm.max_children = 60
26 pm.process_idle_timeout = 60
27 24
28 php_admin_value[output_buffering] = 0 25 "php_admin_value[output_buffering]" = "0";
29 php_admin_value[max_execution_time] = 1800 26 "php_admin_value[max_execution_time]" = "1800";
30 php_admin_value[zend_extension] = "opcache" 27 "php_admin_value[zend_extension]" = "opcache";
31 ;already enabled by default? 28 #already enabled by default?
32 ;php_value[opcache.enable] = 1 29 #"php_value[opcache.enable]" = "1";
33 php_value[opcache.enable_cli] = 1 30 "php_value[opcache.enable_cli]" = "1";
34 php_value[opcache.interned_strings_buffer] = 8 31 "php_value[opcache.interned_strings_buffer]" = "8";
35 php_value[opcache.max_accelerated_files] = 10000 32 "php_value[opcache.max_accelerated_files]" = "10000";
36 php_value[opcache.memory_consumption] = 128 33 "php_value[opcache.memory_consumption]" = "128";
37 php_value[opcache.save_comments] = 1 34 "php_value[opcache.save_comments]" = "1";
38 php_value[opcache.revalidate_freq] = 1 35 "php_value[opcache.revalidate_freq]" = "1";
39 php_admin_value[memory_limit] = 512M 36 "php_admin_value[memory_limit]" = "512M";
40 37
41 php_admin_value[open_basedir] = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp" 38 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp";
42 php_admin_value[session.save_path] = "${varDir}/phpSessions" 39 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
43 ''; 40 };
44 }; 41 };
45in { 42in {
46 options.myServices.websites.tools.cloud = { 43 options.myServices.websites.tools.cloud = {
@@ -71,7 +68,7 @@ in {
71 </IfModule> 68 </IfModule>
72 <FilesMatch "\.php$"> 69 <FilesMatch "\.php$">
73 CGIPassAuth on 70 CGIPassAuth on
74 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 71 SetHandler "proxy:unix:${config.services.phpfpm.pools.nextcloud.socket}|fcgi://localhost"
75 </FilesMatch> 72 </FilesMatch>
76 73
77 </Directory> 74 </Directory>
@@ -171,8 +168,9 @@ in {
171 ''; 168 '';
172 169
173 services.phpfpm.pools.nextcloud = { 170 services.phpfpm.pools.nextcloud = {
174 listen = phpFpm.socket; 171 user = "wwwrun";
175 extraConfig = phpFpm.pool; 172 group = "wwwrun";
173 settings = phpFpm.pool;
176 phpOptions = config.services.phpfpm.phpOptions + phpFpm.phpConfig; 174 phpOptions = config.services.phpfpm.phpOptions + phpFpm.phpConfig;
177 }; 175 };
178 176
diff --git a/modules/private/websites/tools/dav/davical.nix b/modules/private/websites/tools/dav/davical.nix
index 5eb3fab..9d6cd21 100644
--- a/modules/private/websites/tools/dav/davical.nix
+++ b/modules/private/websites/tools/dav/davical.nix
@@ -73,7 +73,7 @@ rec {
73 modules = [ "proxy_fcgi" ]; 73 modules = [ "proxy_fcgi" ];
74 webappName = "tools_davical"; 74 webappName = "tools_davical";
75 root = "/run/current-system/webapps/${webappName}"; 75 root = "/run/current-system/webapps/${webappName}";
76 vhostConf = '' 76 vhostConf = socket: ''
77 Alias /davical "${root}" 77 Alias /davical "${root}"
78 Alias /caldav.php "${root}/caldav.php" 78 Alias /caldav.php "${root}/caldav.php"
79 <Directory "${root}"> 79 <Directory "${root}">
@@ -84,7 +84,7 @@ rec {
84 84
85 <FilesMatch "\.php$"> 85 <FilesMatch "\.php$">
86 CGIPassAuth on 86 CGIPassAuth on
87 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 87 SetHandler "proxy:unix:${socket}|fcgi://localhost"
88 </FilesMatch> 88 </FilesMatch>
89 89
90 RewriteEngine On 90 RewriteEngine On
@@ -111,28 +111,25 @@ rec {
111 phpFpm = rec { 111 phpFpm = rec {
112 serviceDeps = [ "postgresql.service" "openldap.service" ]; 112 serviceDeps = [ "postgresql.service" "openldap.service" ];
113 basedir = builtins.concatStringsSep ":" [ webapp "/var/secrets/webapps/dav-davical" awl ]; 113 basedir = builtins.concatStringsSep ":" [ webapp "/var/secrets/webapps/dav-davical" awl ];
114 socket = "/var/run/phpfpm/davical.sock"; 114 pool = {
115 pool = '' 115 "listen.owner" = apache.user;
116 user = ${apache.user} 116 "listen.group" = apache.group;
117 group = ${apache.group} 117 "pm" = "dynamic";
118 listen.owner = ${apache.user} 118 "pm.max_children" = "60";
119 listen.group = ${apache.group} 119 "pm.start_servers" = "2";
120 pm = dynamic 120 "pm.min_spare_servers" = "1";
121 pm.max_children = 60 121 "pm.max_spare_servers" = "10";
122 pm.start_servers = 2
123 pm.min_spare_servers = 1
124 pm.max_spare_servers = 10
125 122
126 ; Needed to avoid clashes in browser cookies (same domain) 123 # Needed to avoid clashes in browser cookies (same domain)
127 php_value[session.name] = DavicalPHPSESSID 124 "php_value[session.name]" = "DavicalPHPSESSID";
128 php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/davical" 125 "php_admin_value[open_basedir]" = "${basedir}:/tmp:/var/lib/php/sessions/davical";
129 php_admin_value[include_path] = "${awl}/inc:${webapp}/inc" 126 "php_admin_value[include_path]" = "${awl}/inc:${webapp}/inc";
130 php_admin_value[session.save_path] = "/var/lib/php/sessions/davical" 127 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/davical";
131 php_flag[magic_quotes_gpc] = Off 128 "php_flag[magic_quotes_gpc]" = "Off";
132 php_flag[register_globals] = Off 129 "php_flag[register_globals]" = "Off";
133 php_admin_value[error_reporting] = "E_ALL & ~E_NOTICE" 130 "php_admin_value[error_reporting]" = "E_ALL & ~E_NOTICE";
134 php_admin_value[default_charset] = "utf-8" 131 "php_admin_value[default_charset]" = "utf-8";
135 php_flag[magic_quotes_runtime] = Off 132 "php_flag[magic_quotes_runtime]" = "Off";
136 ''; 133 };
137 }; 134 };
138} 135}
diff --git a/modules/private/websites/tools/dav/default.nix b/modules/private/websites/tools/dav/default.nix
index 0012965..30a562c 100644
--- a/modules/private/websites/tools/dav/default.nix
+++ b/modules/private/websites/tools/dav/default.nix
@@ -38,14 +38,15 @@ in {
38 root = "/run/current-system/webapps/_dav"; 38 root = "/run/current-system/webapps/_dav";
39 extraConfig = [ 39 extraConfig = [
40 infcloud.vhostConf 40 infcloud.vhostConf
41 davical.apache.vhostConf 41 (davical.apache.vhostConf config.services.phpfpm.pools.davical.socket)
42 ]; 42 ];
43 }; 43 };
44 44
45 services.phpfpm.pools = { 45 services.phpfpm.pools = {
46 davical = { 46 davical = {
47 listen = davical.phpFpm.socket; 47 user = config.services.httpd.Tools.user;
48 extraConfig = davical.phpFpm.pool; 48 group = config.services.httpd.Tools.group;
49 settings = davical.phpFpm.pool;
49 }; 50 };
50 }; 51 };
51 52
diff --git a/modules/private/websites/tools/db/default.nix b/modules/private/websites/tools/db/default.nix
index 60592e5..fc8d989 100644
--- a/modules/private/websites/tools/db/default.nix
+++ b/modules/private/websites/tools/db/default.nix
@@ -1,6 +1,6 @@
1{ lib, pkgs, config, ... }: 1{ lib, pkgs, config, ... }:
2let 2let
3 adminer = pkgs.callPackage ../../commons/adminer.nix {}; 3 adminer = pkgs.callPackage ../../commons/adminer.nix { inherit config; };
4 4
5 cfg = config.myServices.websites.tools.db; 5 cfg = config.myServices.websites.tools.db;
6in { 6in {
@@ -15,7 +15,7 @@ in {
15 addToCerts = true; 15 addToCerts = true;
16 hosts = ["db-1.immae.eu" ]; 16 hosts = ["db-1.immae.eu" ];
17 root = null; 17 root = null;
18 extraConfig = [ adminer.apache.vhostConf ]; 18 extraConfig = [ (adminer.apache.vhostConf null) ];
19 }; 19 };
20 }; 20 };
21} 21}
diff --git a/modules/private/websites/tools/git/default.nix b/modules/private/websites/tools/git/default.nix
index 054e47b..56e4401 100644
--- a/modules/private/websites/tools/git/default.nix
+++ b/modules/private/websites/tools/git/default.nix
@@ -30,7 +30,7 @@ in {
30 root = gitweb.apache.root; 30 root = gitweb.apache.root;
31 extraConfig = [ 31 extraConfig = [
32 gitweb.apache.vhostConf 32 gitweb.apache.vhostConf
33 mantisbt.apache.vhostConf 33 (mantisbt.apache.vhostConf config.services.phpfpm.pools.mantisbt.socket)
34 '' 34 ''
35 RewriteEngine on 35 RewriteEngine on
36 RewriteCond %{REQUEST_URI} ^/releases 36 RewriteCond %{REQUEST_URI} ^/releases
@@ -40,8 +40,9 @@ in {
40 }; 40 };
41 services.phpfpm.pools = { 41 services.phpfpm.pools = {
42 mantisbt = { 42 mantisbt = {
43 listen = mantisbt.phpFpm.socket; 43 user = config.services.httpd.Tools.user;
44 extraConfig = mantisbt.phpFpm.pool; 44 group = config.services.httpd.Tools.group;
45 settings = mantisbt.phpFpm.pool;
45 }; 46 };
46 }; 47 };
47 }; 48 };
diff --git a/modules/private/websites/tools/git/mantisbt.nix b/modules/private/websites/tools/git/mantisbt.nix
index d75b022..50851aa 100644
--- a/modules/private/websites/tools/git/mantisbt.nix
+++ b/modules/private/websites/tools/git/mantisbt.nix
@@ -53,12 +53,12 @@ rec {
53 modules = [ "proxy_fcgi" ]; 53 modules = [ "proxy_fcgi" ];
54 webappName = "tools_mantisbt"; 54 webappName = "tools_mantisbt";
55 root = "/run/current-system/webapps/${webappName}"; 55 root = "/run/current-system/webapps/${webappName}";
56 vhostConf = '' 56 vhostConf = socket: ''
57 Alias /mantisbt "${root}" 57 Alias /mantisbt "${root}"
58 <Directory "${root}"> 58 <Directory "${root}">
59 DirectoryIndex index.php 59 DirectoryIndex index.php
60 <FilesMatch "\.php$"> 60 <FilesMatch "\.php$">
61 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 61 SetHandler "proxy:unix:${socket}|fcgi://localhost"
62 </FilesMatch> 62 </FilesMatch>
63 63
64 AllowOverride All 64 AllowOverride All
@@ -76,20 +76,17 @@ rec {
76 basedir = builtins.concatStringsSep ":" ( 76 basedir = builtins.concatStringsSep ":" (
77 [ webRoot "/var/secrets/webapps/tools-mantisbt" ] 77 [ webRoot "/var/secrets/webapps/tools-mantisbt" ]
78 ++ webRoot.plugins); 78 ++ webRoot.plugins);
79 socket = "/var/run/phpfpm/mantisbt.sock"; 79 pool = {
80 pool = '' 80 "listen.owner" = apache.user;
81 user = ${apache.user} 81 "listen.group" = apache.group;
82 group = ${apache.group} 82 "pm" = "ondemand";
83 listen.owner = ${apache.user} 83 "pm.max_children" = "60";
84 listen.group = ${apache.group} 84 "pm.process_idle_timeout" = "60";
85 pm = ondemand
86 pm.max_children = 60
87 pm.process_idle_timeout = 60
88 85
89 php_admin_value[upload_max_filesize] = 5000000 86 "php_admin_value[upload_max_filesize]" = "5000000";
90 87
91 php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/mantisbt" 88 "php_admin_value[open_basedir]" = "${basedir}:/tmp:/var/lib/php/sessions/mantisbt";
92 php_admin_value[session.save_path] = "/var/lib/php/sessions/mantisbt" 89 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/mantisbt";
93 ''; 90 };
94 }; 91 };
95} 92}
diff --git a/modules/private/websites/tools/mail/default.nix b/modules/private/websites/tools/mail/default.nix
index bb36042..1f7f7bf 100644
--- a/modules/private/websites/tools/mail/default.nix
+++ b/modules/private/websites/tools/mail/default.nix
@@ -6,6 +6,7 @@ let
6 }; 6 };
7 rainloop = pkgs.callPackage ./rainloop.nix {}; 7 rainloop = pkgs.callPackage ./rainloop.nix {};
8 cfg = config.myServices.websites.tools.email; 8 cfg = config.myServices.websites.tools.email;
9 pcfg = config.services.phpfpm.pools;
9in 10in
10{ 11{
11 options.myServices.websites.tools.email = { 12 options.myServices.websites.tools.email = {
@@ -34,8 +35,8 @@ in
34 hosts = ["mail.immae.eu"]; 35 hosts = ["mail.immae.eu"];
35 root = "/run/current-system/webapps/_mail"; 36 root = "/run/current-system/webapps/_mail";
36 extraConfig = [ 37 extraConfig = [
37 rainloop.apache.vhostConf 38 (rainloop.apache.vhostConf pcfg.rainloop.socket)
38 roundcubemail.apache.vhostConf 39 (roundcubemail.apache.vhostConf pcfg.roundcubemail.socket)
39 '' 40 ''
40 <Directory /run/current-system/webapps/_mail> 41 <Directory /run/current-system/webapps/_mail>
41 Require all granted 42 Require all granted
@@ -56,13 +57,15 @@ in
56 }; 57 };
57 58
58 services.phpfpm.pools.roundcubemail = { 59 services.phpfpm.pools.roundcubemail = {
59 listen = roundcubemail.phpFpm.socket; 60 user = "wwwrun";
60 extraConfig = roundcubemail.phpFpm.pool; 61 group = "wwwrun";
62 settings = roundcubemail.phpFpm.pool;
61 phpOptions = config.services.phpfpm.phpOptions + roundcubemail.phpFpm.phpConfig; 63 phpOptions = config.services.phpfpm.phpOptions + roundcubemail.phpFpm.phpConfig;
62 }; 64 };
63 services.phpfpm.pools.rainloop = { 65 services.phpfpm.pools.rainloop = {
64 listen = rainloop.phpFpm.socket; 66 user = "wwwrun";
65 extraConfig = rainloop.phpFpm.pool; 67 group = "wwwrun";
68 settings = rainloop.phpFpm.pool;
66 }; 69 };
67 system.activationScripts = { 70 system.activationScripts = {
68 roundcubemail = roundcubemail.activationScript; 71 roundcubemail = roundcubemail.activationScript;
diff --git a/modules/private/websites/tools/mail/rainloop.nix b/modules/private/websites/tools/mail/rainloop.nix
index 2dad46e..9b1f0c5 100644
--- a/modules/private/websites/tools/mail/rainloop.nix
+++ b/modules/private/websites/tools/mail/rainloop.nix
@@ -16,7 +16,7 @@ rec {
16 modules = [ "proxy_fcgi" ]; 16 modules = [ "proxy_fcgi" ];
17 webappName = "tools_rainloop"; 17 webappName = "tools_rainloop";
18 root = "/run/current-system/webapps/${webappName}"; 18 root = "/run/current-system/webapps/${webappName}";
19 vhostConf = '' 19 vhostConf = socket: ''
20 Alias /rainloop "${root}" 20 Alias /rainloop "${root}"
21 <Directory "${root}"> 21 <Directory "${root}">
22 DirectoryIndex index.php 22 DirectoryIndex index.php
@@ -25,7 +25,7 @@ rec {
25 Require all granted 25 Require all granted
26 26
27 <FilesMatch "\.php$"> 27 <FilesMatch "\.php$">
28 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 28 SetHandler "proxy:unix:${socket}|fcgi://localhost"
29 </FilesMatch> 29 </FilesMatch>
30 </Directory> 30 </Directory>
31 31
@@ -37,22 +37,19 @@ rec {
37 phpFpm = rec { 37 phpFpm = rec {
38 serviceDeps = [ "postgresql.service" ]; 38 serviceDeps = [ "postgresql.service" ];
39 basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; 39 basedir = builtins.concatStringsSep ":" [ webRoot varDir ];
40 socket = "/var/run/phpfpm/rainloop.sock"; 40 pool = {
41 pool = '' 41 "listen.owner" = apache.user;
42 user = ${apache.user} 42 "listen.group" = apache.group;
43 group = ${apache.group} 43 "pm" = "ondemand";
44 listen.owner = ${apache.user} 44 "pm.max_children" = "60";
45 listen.group = ${apache.group} 45 "pm.process_idle_timeout" = "60";
46 pm = ondemand
47 pm.max_children = 60
48 pm.process_idle_timeout = 60
49 46
50 ; Needed to avoid clashes in browser cookies (same domain) 47 # Needed to avoid clashes in browser cookies (same domain)
51 php_value[session.name] = RainloopPHPSESSID 48 "php_value[session.name]" = "RainloopPHPSESSID";
52 php_admin_value[upload_max_filesize] = 200M 49 "php_admin_value[upload_max_filesize]" = "200M";
53 php_admin_value[post_max_size] = 200M 50 "php_admin_value[post_max_size]" = "200M";
54 php_admin_value[open_basedir] = "${basedir}:/tmp" 51 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
55 php_admin_value[session.save_path] = "${varDir}/phpSessions" 52 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
56 ''; 53 };
57 }; 54 };
58} 55}
diff --git a/modules/private/websites/tools/mail/roundcubemail.nix b/modules/private/websites/tools/mail/roundcubemail.nix
index 35de312..0b35d02 100644
--- a/modules/private/websites/tools/mail/roundcubemail.nix
+++ b/modules/private/websites/tools/mail/roundcubemail.nix
@@ -83,7 +83,7 @@ rec {
83 modules = [ "proxy_fcgi" ]; 83 modules = [ "proxy_fcgi" ];
84 webappName = "tools_roundcubemail"; 84 webappName = "tools_roundcubemail";
85 root = "/run/current-system/webapps/${webappName}"; 85 root = "/run/current-system/webapps/${webappName}";
86 vhostConf = '' 86 vhostConf = socket: ''
87 Alias /roundcube "${root}" 87 Alias /roundcube "${root}"
88 <Directory "${root}"> 88 <Directory "${root}">
89 DirectoryIndex index.php 89 DirectoryIndex index.php
@@ -92,7 +92,7 @@ rec {
92 Require all granted 92 Require all granted
93 93
94 <FilesMatch "\.php$"> 94 <FilesMatch "\.php$">
95 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 95 SetHandler "proxy:unix:${socket}|fcgi://localhost"
96 </FilesMatch> 96 </FilesMatch>
97 </Directory> 97 </Directory>
98 ''; 98 '';
@@ -107,22 +107,19 @@ rec {
107 date.timezone = 'CET' 107 date.timezone = 'CET'
108 extension=${phpPackages.imagick}/lib/php/extensions/imagick.so 108 extension=${phpPackages.imagick}/lib/php/extensions/imagick.so
109 ''; 109 '';
110 socket = "/var/run/phpfpm/roundcubemail.sock"; 110 pool = {
111 pool = '' 111 "listen.owner" = apache.user;
112 user = ${apache.user} 112 "listen.group" = apache.group;
113 group = ${apache.group} 113 "pm" = "ondemand";
114 listen.owner = ${apache.user} 114 "pm.max_children" = "60";
115 listen.group = ${apache.group} 115 "pm.process_idle_timeout" = "60";
116 pm = ondemand
117 pm.max_children = 60
118 pm.process_idle_timeout = 60
119 116
120 ; Needed to avoid clashes in browser cookies (same domain) 117 # Needed to avoid clashes in browser cookies (same domain)
121 php_value[session.name] = RoundcubemailPHPSESSID 118 "php_value[session.name]" = "RoundcubemailPHPSESSID";
122 php_admin_value[upload_max_filesize] = 200M 119 "php_admin_value[upload_max_filesize]" = "200M";
123 php_admin_value[post_max_size] = 200M 120 "php_admin_value[post_max_size]" = "200M";
124 php_admin_value[open_basedir] = "${basedir}:${apacheHttpd}/conf/mime.types:/tmp" 121 "php_admin_value[open_basedir]" = "${basedir}:${apacheHttpd}/conf/mime.types:/tmp";
125 php_admin_value[session.save_path] = "${varDir}/phpSessions" 122 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
126 ''; 123 };
127 }; 124 };
128} 125}
diff --git a/modules/private/websites/tools/tools/adminer.nix b/modules/private/websites/tools/tools/adminer.nix
index 907e37f..52a132c 100644
--- a/modules/private/websites/tools/tools/adminer.nix
+++ b/modules/private/websites/tools/tools/adminer.nix
@@ -1,4 +1,4 @@
1{ adminer }: 1{ adminer, php73, forcePhpSocket ? null }:
2rec { 2rec {
3 activationScript = { 3 activationScript = {
4 deps = [ "httpd" ]; 4 deps = [ "httpd" ];
@@ -9,22 +9,33 @@ rec {
9 }; 9 };
10 webRoot = adminer; 10 webRoot = adminer;
11 phpFpm = rec { 11 phpFpm = rec {
12 socket = "/var/run/phpfpm/adminer.sock"; 12 user = apache.user;
13 pool = '' 13 group = apache.group;
14 user = ${apache.user} 14 phpPackage = (php73.override {
15 group = ${apache.group} 15 config.php.mysqlnd = true;
16 listen.owner = ${apache.user} 16 config.php.mysqli = false;
17 listen.group = ${apache.group} 17 config.php.pdo-mysql = false;
18 pm = ondemand 18 }).overrideAttrs(old: rec {
19 pm.max_children = 5 19 configureFlags = old.configureFlags ++ [
20 pm.process_idle_timeout = 60 20 "--with-mysqli=shared,mysqlnd"
21 ;php_admin_flag[log_errors] = on 21 ];
22 ; Needed to avoid clashes in browser cookies (same domain) 22 });
23 php_value[session.name] = AdminerPHPSESSID 23 phpOptions = ''
24 php_admin_value[open_basedir] = "${webRoot}:/tmp:/var/lib/php/sessions/adminer:/var/lib/php/tmp/adminer" 24 extension=${phpPackage}/lib/php/extensions/mysqli.so
25 php_admin_value[session.save_path] = "/var/lib/php/sessions/adminer" 25 '';
26 php_admin_value[upload_tmp_dir] = "/var/lib/php/tmp/adminer" 26 settings = {
27 ''; 27 "listen.owner" = apache.user;
28 "listen.group" = apache.group;
29 "pm" = "ondemand";
30 "pm.max_children" = "5";
31 "pm.process_idle_timeout" = "60";
32 #"php_admin_flag[log_errors]" = "on";
33 # Needed to avoid clashes in browser cookies (same domain)
34 "php_value[session.name]" = "AdminerPHPSESSID";
35 "php_admin_value[open_basedir]" = "${webRoot}:/tmp:/var/lib/php/sessions/adminer:/var/lib/php/tmp/adminer";
36 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/adminer";
37 "php_admin_value[upload_tmp_dir]" = "/var/lib/php/tmp/adminer";
38 };
28 }; 39 };
29 apache = rec { 40 apache = rec {
30 user = "wwwrun"; 41 user = "wwwrun";
@@ -32,12 +43,12 @@ rec {
32 modules = [ "proxy_fcgi" ]; 43 modules = [ "proxy_fcgi" ];
33 webappName = "_adminer"; 44 webappName = "_adminer";
34 root = "/run/current-system/webapps/${webappName}"; 45 root = "/run/current-system/webapps/${webappName}";
35 vhostConf = '' 46 vhostConf = socket: ''
36 Alias /adminer ${root} 47 Alias /adminer ${root}
37 <Directory ${root}> 48 <Directory ${root}>
38 DirectoryIndex index.php 49 DirectoryIndex index.php
39 <FilesMatch "\.php$"> 50 <FilesMatch "\.php$">
40 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 51 SetHandler "proxy:unix:${if forcePhpSocket != null then forcePhpSocket else socket}|fcgi://localhost"
41 </FilesMatch> 52 </FilesMatch>
42 53
43 Use LDAPConnect 54 Use LDAPConnect
diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix
index 5dc0981..5e0d446 100644
--- a/modules/private/websites/tools/tools/default.nix
+++ b/modules/private/websites/tools/tools/default.nix
@@ -40,6 +40,7 @@ let
40 }; 40 };
41 41
42 cfg = config.myServices.websites.tools.tools; 42 cfg = config.myServices.websites.tools.tools;
43 pcfg = config.services.phpfpm.pools;
43in { 44in {
44 options.myServices.websites.tools.tools = { 45 options.myServices.websites.tools.tools = {
45 enable = lib.mkEnableOption "enable tools website"; 46 enable = lib.mkEnableOption "enable tools website";
@@ -92,7 +93,7 @@ in {
92 AllowOverride all 93 AllowOverride all
93 Require all granted 94 Require all granted
94 <FilesMatch "\.php$"> 95 <FilesMatch "\.php$">
95 SetHandler "proxy:unix:/var/run/phpfpm/devtools.sock|fcgi://localhost" 96 SetHandler "proxy:unix:${pcfg.devtools.socket}|fcgi://localhost"
96 </FilesMatch> 97 </FilesMatch>
97 </Directory> 98 </Directory>
98 '' 99 ''
@@ -115,21 +116,21 @@ in {
115 AllowOverride all 116 AllowOverride all
116 Require all granted 117 Require all granted
117 <FilesMatch "\.php$"> 118 <FilesMatch "\.php$">
118 SetHandler "proxy:unix:/var/run/phpfpm/tools.sock|fcgi://localhost" 119 SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost"
119 </FilesMatch> 120 </FilesMatch>
120 </Directory> 121 </Directory>
121 '' 122 ''
122 adminer.apache.vhostConf 123 (adminer.apache.vhostConf pcfg.adminer.socket)
123 ympd.apache.vhostConf 124 ympd.apache.vhostConf
124 ttrss.apache.vhostConf 125 (ttrss.apache.vhostConf pcfg.ttrss.socket)
125 wallabag.apache.vhostConf 126 (wallabag.apache.vhostConf pcfg.wallabag.socket)
126 yourls.apache.vhostConf 127 (yourls.apache.vhostConf pcfg.yourls.socket)
127 rompr.apache.vhostConf 128 (rompr.apache.vhostConf pcfg.rompr.socket)
128 shaarli.apache.vhostConf 129 (shaarli.apache.vhostConf pcfg.shaarli.socket)
129 dokuwiki.apache.vhostConf 130 (dokuwiki.apache.vhostConf pcfg.dokuwiki.socket)
130 ldap.apache.vhostConf 131 (ldap.apache.vhostConf pcfg.ldap.socket)
131 kanboard.apache.vhostConf 132 (kanboard.apache.vhostConf pcfg.kanboard.socket)
132 grocy.apache.vhostConf 133 (grocy.apache.vhostConf pcfg.grocy.socket)
133 ]; 134 ];
134 }; 135 };
135 136
@@ -226,38 +227,36 @@ in {
226 227
227 services.phpfpm.pools = { 228 services.phpfpm.pools = {
228 tools = { 229 tools = {
229 listen = "/var/run/phpfpm/tools.sock"; 230 user = "wwwrun";
230 extraConfig = '' 231 group = "wwwrun";
231 user = wwwrun 232 settings = {
232 group = wwwrun 233 "listen.owner" = "wwwrun";
233 listen.owner = wwwrun 234 "listen.group" = "wwwrun";
234 listen.group = wwwrun 235 "pm" = "dynamic";
235 pm = dynamic 236 "pm.max_children" = "60";
236 pm.max_children = 60 237 "pm.start_servers" = "2";
237 pm.start_servers = 2 238 "pm.min_spare_servers" = "1";
238 pm.min_spare_servers = 1 239 "pm.max_spare_servers" = "10";
239 pm.max_spare_servers = 10
240 240
241 ; Needed to avoid clashes in browser cookies (same domain) 241 # Needed to avoid clashes in browser cookies (same domain)
242 php_value[session.name] = ToolsPHPSESSID 242 "php_value[session.name]" = "ToolsPHPSESSID";
243 php_admin_value[open_basedir] = "/run/wrappers/bin/sendmail:/var/lib/ftp/tools.immae.eu:/tmp" 243 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/tools.immae.eu:/tmp";
244 ''; 244 };
245 }; 245 };
246 devtools = { 246 devtools = {
247 listen = "/var/run/phpfpm/devtools.sock"; 247 user = "wwwrun";
248 extraConfig = '' 248 group = "wwwrun";
249 user = wwwrun 249 settings = {
250 group = wwwrun 250 "listen.owner" = "wwwrun";
251 listen.owner = wwwrun 251 "listen.group" = "wwwrun";
252 listen.group = wwwrun 252 "pm" = "dynamic";
253 pm = dynamic 253 "pm.max_children" = "60";
254 pm.max_children = 60 254 "pm.start_servers" = "2";
255 pm.start_servers = 2 255 "pm.min_spare_servers" = "1";
256 pm.min_spare_servers = 1 256 "pm.max_spare_servers" = "10";
257 pm.max_spare_servers = 10
258 257
259 php_admin_value[open_basedir] = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp" 258 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/devtools.immae.eu:/tmp";
260 ''; 259 };
261 phpOptions = config.services.phpfpm.phpOptions + '' 260 phpOptions = config.services.phpfpm.phpOptions + ''
262 extension=${pkgs.php}/lib/php/extensions/mysqli.so 261 extension=${pkgs.php}/lib/php/extensions/mysqli.so
263 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so 262 extension=${pkgs.phpPackages.redis}/lib/php/extensions/redis.so
@@ -265,45 +264,51 @@ in {
265 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so 264 zend_extension=${pkgs.php}/lib/php/extensions/opcache.so
266 ''; 265 '';
267 }; 266 };
268 adminer = { 267 adminer = adminer.phpFpm;
269 listen = adminer.phpFpm.socket;
270 extraConfig = adminer.phpFpm.pool;
271 };
272 ttrss = { 268 ttrss = {
273 listen = ttrss.phpFpm.socket; 269 user = "wwwrun";
274 extraConfig = ttrss.phpFpm.pool; 270 group = "wwwrun";
271 settings = ttrss.phpFpm.pool;
275 }; 272 };
276 wallabag = { 273 wallabag = {
277 listen = wallabag.phpFpm.socket; 274 user = "wwwrun";
278 extraConfig = wallabag.phpFpm.pool; 275 group = "wwwrun";
276 settings = wallabag.phpFpm.pool;
279 }; 277 };
280 yourls = { 278 yourls = {
281 listen = yourls.phpFpm.socket; 279 user = "wwwrun";
282 extraConfig = yourls.phpFpm.pool; 280 group = "wwwrun";
281 settings = yourls.phpFpm.pool;
283 }; 282 };
284 rompr = { 283 rompr = {
285 listen = rompr.phpFpm.socket; 284 user = "wwwrun";
286 extraConfig = rompr.phpFpm.pool; 285 group = "wwwrun";
286 settings = rompr.phpFpm.pool;
287 }; 287 };
288 shaarli = { 288 shaarli = {
289 listen = shaarli.phpFpm.socket; 289 user = "wwwrun";
290 extraConfig = shaarli.phpFpm.pool; 290 group = "wwwrun";
291 settings = shaarli.phpFpm.pool;
291 }; 292 };
292 dokuwiki = { 293 dokuwiki = {
293 listen = dokuwiki.phpFpm.socket; 294 user = "wwwrun";
294 extraConfig = dokuwiki.phpFpm.pool; 295 group = "wwwrun";
296 settings = dokuwiki.phpFpm.pool;
295 }; 297 };
296 ldap = { 298 ldap = {
297 listen = ldap.phpFpm.socket; 299 user = "wwwrun";
298 extraConfig = ldap.phpFpm.pool; 300 group = "wwwrun";
301 settings = ldap.phpFpm.pool;
299 }; 302 };
300 kanboard = { 303 kanboard = {
301 listen = kanboard.phpFpm.socket; 304 user = "wwwrun";
302 extraConfig = kanboard.phpFpm.pool; 305 group = "wwwrun";
306 settings = kanboard.phpFpm.pool;
303 }; 307 };
304 grocy = { 308 grocy = {
305 listen = grocy.phpFpm.socket; 309 user = "wwwrun";
306 extraConfig = grocy.phpFpm.pool; 310 group = "wwwrun";
311 settings = grocy.phpFpm.pool;
307 }; 312 };
308 }; 313 };
309 314
diff --git a/modules/private/websites/tools/tools/dokuwiki.nix b/modules/private/websites/tools/tools/dokuwiki.nix
index d66e85d..26c04b7 100644
--- a/modules/private/websites/tools/tools/dokuwiki.nix
+++ b/modules/private/websites/tools/tools/dokuwiki.nix
@@ -26,12 +26,12 @@ rec {
26 modules = [ "proxy_fcgi" ]; 26 modules = [ "proxy_fcgi" ];
27 webappName = "tools_dokuwiki"; 27 webappName = "tools_dokuwiki";
28 root = "/run/current-system/webapps/${webappName}"; 28 root = "/run/current-system/webapps/${webappName}";
29 vhostConf = '' 29 vhostConf = socket: ''
30 Alias /dokuwiki "${root}" 30 Alias /dokuwiki "${root}"
31 <Directory "${root}"> 31 <Directory "${root}">
32 DirectoryIndex index.php 32 DirectoryIndex index.php
33 <FilesMatch "\.php$"> 33 <FilesMatch "\.php$">
34 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 34 SetHandler "proxy:unix:${socket}|fcgi://localhost"
35 </FilesMatch> 35 </FilesMatch>
36 36
37 AllowOverride All 37 AllowOverride All
@@ -44,20 +44,17 @@ rec {
44 serviceDeps = [ "openldap.service" ]; 44 serviceDeps = [ "openldap.service" ];
45 basedir = builtins.concatStringsSep ":" ( 45 basedir = builtins.concatStringsSep ":" (
46 [ webRoot varDir ] ++ webRoot.plugins); 46 [ webRoot varDir ] ++ webRoot.plugins);
47 socket = "/var/run/phpfpm/dokuwiki.sock"; 47 pool = {
48 pool = '' 48 "listen.owner" = apache.user;
49 user = ${apache.user} 49 "listen.group" = apache.group;
50 group = ${apache.group} 50 "pm" = "ondemand";
51 listen.owner = ${apache.user} 51 "pm.max_children" = "60";
52 listen.group = ${apache.group} 52 "pm.process_idle_timeout" = "60";
53 pm = ondemand
54 pm.max_children = 60
55 pm.process_idle_timeout = 60
56 53
57 ; Needed to avoid clashes in browser cookies (same domain) 54 # Needed to avoid clashes in browser cookies (same domain)
58 php_value[session.name] = DokuwikiPHPSESSID 55 "php_value[session.name]" = "DokuwikiPHPSESSID";
59 php_admin_value[open_basedir] = "${basedir}:/tmp" 56 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
60 php_admin_value[session.save_path] = "${varDir}/phpSessions" 57 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
61 ''; 58 };
62 }; 59 };
63} 60}
diff --git a/modules/private/websites/tools/tools/grocy.nix b/modules/private/websites/tools/tools/grocy.nix
index 1b8da20..a98d8ac 100644
--- a/modules/private/websites/tools/tools/grocy.nix
+++ b/modules/private/websites/tools/tools/grocy.nix
@@ -18,12 +18,12 @@ rec {
18 modules = [ "proxy_fcgi" ]; 18 modules = [ "proxy_fcgi" ];
19 webappName = "tools_grocy"; 19 webappName = "tools_grocy";
20 root = "/run/current-system/webapps/${webappName}"; 20 root = "/run/current-system/webapps/${webappName}";
21 vhostConf = '' 21 vhostConf = socket: ''
22 Alias /grocy "${root}" 22 Alias /grocy "${root}"
23 <Directory "${root}"> 23 <Directory "${root}">
24 DirectoryIndex index.php 24 DirectoryIndex index.php
25 <FilesMatch "\.php$"> 25 <FilesMatch "\.php$">
26 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 26 SetHandler "proxy:unix:${socket}|fcgi://localhost"
27 </FilesMatch> 27 </FilesMatch>
28 28
29 AllowOverride All 29 AllowOverride All
@@ -35,21 +35,18 @@ rec {
35 phpFpm = rec { 35 phpFpm = rec {
36 basedir = builtins.concatStringsSep ":" ( 36 basedir = builtins.concatStringsSep ":" (
37 [ grocy grocy.yarnModules varDir ]); 37 [ grocy grocy.yarnModules varDir ]);
38 socket = "/var/run/phpfpm/grocy.sock"; 38 pool = {
39 pool = '' 39 "listen.owner" = apache.user;
40 user = ${apache.user} 40 "listen.group" = apache.group;
41 group = ${apache.group} 41 "pm" = "ondemand";
42 listen.owner = ${apache.user} 42 "pm.max_children" = "60";
43 listen.group = ${apache.group} 43 "pm.process_idle_timeout" = "60";
44 pm = ondemand
45 pm.max_children = 60
46 pm.process_idle_timeout = 60
47 44
48 ; Needed to avoid clashes in browser cookies (same domain) 45 # Needed to avoid clashes in browser cookies (same domain)
49 php_value[session.name] = grocyPHPSESSID 46 "php_value[session.name]" = "grocyPHPSESSID";
50 php_admin_value[open_basedir] = "${basedir}:/tmp" 47 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
51 php_admin_value[session.save_path] = "${varDir}/phpSessions" 48 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
52 ''; 49 };
53 }; 50 };
54} 51}
55 52
diff --git a/modules/private/websites/tools/tools/kanboard.nix b/modules/private/websites/tools/tools/kanboard.nix
index 1880cbd..0f6fefc 100644
--- a/modules/private/websites/tools/tools/kanboard.nix
+++ b/modules/private/websites/tools/tools/kanboard.nix
@@ -49,7 +49,7 @@ rec {
49 modules = [ "proxy_fcgi" ]; 49 modules = [ "proxy_fcgi" ];
50 webappName = "tools_kanboard"; 50 webappName = "tools_kanboard";
51 root = "/run/current-system/webapps/${webappName}"; 51 root = "/run/current-system/webapps/${webappName}";
52 vhostConf = '' 52 vhostConf = socket: ''
53 Alias /kanboard "${root}" 53 Alias /kanboard "${root}"
54 <Directory "${root}"> 54 <Directory "${root}">
55 DirectoryIndex index.php 55 DirectoryIndex index.php
@@ -58,7 +58,7 @@ rec {
58 Require all granted 58 Require all granted
59 59
60 <FilesMatch "\.php$"> 60 <FilesMatch "\.php$">
61 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 61 SetHandler "proxy:unix:${socket}|fcgi://localhost"
62 </FilesMatch> 62 </FilesMatch>
63 </Directory> 63 </Directory>
64 <DirectoryMatch "${root}/data"> 64 <DirectoryMatch "${root}/data">
@@ -69,20 +69,17 @@ rec {
69 phpFpm = rec { 69 phpFpm = rec {
70 serviceDeps = [ "postgresql.service" "openldap.service" ]; 70 serviceDeps = [ "postgresql.service" "openldap.service" ];
71 basedir = builtins.concatStringsSep ":" [ webRoot varDir "/var/secrets/webapps/tools-kanboard" ]; 71 basedir = builtins.concatStringsSep ":" [ webRoot varDir "/var/secrets/webapps/tools-kanboard" ];
72 socket = "/var/run/phpfpm/kanboard.sock"; 72 pool = {
73 pool = '' 73 "listen.owner" = apache.user;
74 user = ${apache.user} 74 "listen.group" = apache.group;
75 group = ${apache.group} 75 "pm" = "ondemand";
76 listen.owner = ${apache.user} 76 "pm.max_children" = "60";
77 listen.group = ${apache.group} 77 "pm.process_idle_timeout" = "60";
78 pm = ondemand
79 pm.max_children = 60
80 pm.process_idle_timeout = 60
81 78
82 ; Needed to avoid clashes in browser cookies (same domain) 79 # Needed to avoid clashes in browser cookies (same domain)
83 php_value[session.name] = KanboardPHPSESSID 80 "php_value[session.name]" = "KanboardPHPSESSID";
84 php_admin_value[open_basedir] = "${basedir}:/tmp" 81 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
85 php_admin_value[session.save_path] = "${varDir}/phpSessions" 82 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
86 ''; 83 };
87 }; 84 };
88} 85}
diff --git a/modules/private/websites/tools/tools/ldap.nix b/modules/private/websites/tools/tools/ldap.nix
index e58a9bd..0c1a21f 100644
--- a/modules/private/websites/tools/tools/ldap.nix
+++ b/modules/private/websites/tools/tools/ldap.nix
@@ -39,12 +39,12 @@ rec {
39 modules = [ "proxy_fcgi" ]; 39 modules = [ "proxy_fcgi" ];
40 webappName = "tools_ldap"; 40 webappName = "tools_ldap";
41 root = "/run/current-system/webapps/${webappName}"; 41 root = "/run/current-system/webapps/${webappName}";
42 vhostConf = '' 42 vhostConf = socket: ''
43 Alias /ldap "${root}" 43 Alias /ldap "${root}"
44 <Directory "${root}"> 44 <Directory "${root}">
45 DirectoryIndex index.php 45 DirectoryIndex index.php
46 <FilesMatch "\.php$"> 46 <FilesMatch "\.php$">
47 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 47 SetHandler "proxy:unix:${socket}|fcgi://localhost"
48 </FilesMatch> 48 </FilesMatch>
49 49
50 AllowOverride None 50 AllowOverride None
@@ -55,20 +55,17 @@ rec {
55 phpFpm = rec { 55 phpFpm = rec {
56 serviceDeps = [ "openldap.service" ]; 56 serviceDeps = [ "openldap.service" ];
57 basedir = builtins.concatStringsSep ":" [ webRoot "/var/secrets/webapps/tools-ldap" ]; 57 basedir = builtins.concatStringsSep ":" [ webRoot "/var/secrets/webapps/tools-ldap" ];
58 socket = "/var/run/phpfpm/ldap.sock"; 58 pool = {
59 pool = '' 59 "listen.owner" = apache.user;
60 user = ${apache.user} 60 "listen.group" = apache.group;
61 group = ${apache.group} 61 "pm" = "ondemand";
62 listen.owner = ${apache.user} 62 "pm.max_children" = "60";
63 listen.group = ${apache.group} 63 "pm.process_idle_timeout" = "60";
64 pm = ondemand
65 pm.max_children = 60
66 pm.process_idle_timeout = 60
67 64
68 ; Needed to avoid clashes in browser cookies (same domain) 65 # Needed to avoid clashes in browser cookies (same domain)
69 php_value[session.name] = LdapPHPSESSID 66 "php_value[session.name]" = "LdapPHPSESSID";
70 php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/phpldapadmin" 67 "php_admin_value[open_basedir]" = "${basedir}:/tmp:/var/lib/php/sessions/phpldapadmin";
71 php_admin_value[session.save_path] = "/var/lib/php/sessions/phpldapadmin" 68 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/phpldapadmin";
72 ''; 69 };
73 }; 70 };
74} 71}
diff --git a/modules/private/websites/tools/tools/rompr.nix b/modules/private/websites/tools/tools/rompr.nix
index 75adabe..106164c 100644
--- a/modules/private/websites/tools/tools/rompr.nix
+++ b/modules/private/websites/tools/tools/rompr.nix
@@ -15,7 +15,7 @@ rec {
15 modules = [ "headers" "mime" "proxy_fcgi" ]; 15 modules = [ "headers" "mime" "proxy_fcgi" ];
16 webappName = "tools_rompr"; 16 webappName = "tools_rompr";
17 root = "/run/current-system/webapps/${webappName}"; 17 root = "/run/current-system/webapps/${webappName}";
18 vhostConf = '' 18 vhostConf = socket: ''
19 Alias /rompr ${root} 19 Alias /rompr ${root}
20 20
21 <Directory ${root}> 21 <Directory ${root}>
@@ -29,7 +29,7 @@ rec {
29 AddType image/x-icon .ico 29 AddType image/x-icon .ico
30 30
31 <FilesMatch "\.php$"> 31 <FilesMatch "\.php$">
32 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 32 SetHandler "proxy:unix:${socket}|fcgi://localhost"
33 </FilesMatch> 33 </FilesMatch>
34 </Directory> 34 </Directory>
35 35
@@ -51,29 +51,26 @@ rec {
51 }; 51 };
52 phpFpm = rec { 52 phpFpm = rec {
53 basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; 53 basedir = builtins.concatStringsSep ":" [ webRoot varDir ];
54 socket = "/var/run/phpfpm/rompr.sock"; 54 pool = {
55 pool = '' 55 "listen.owner" = apache.user;
56 user = ${apache.user} 56 "listen.group" = apache.group;
57 group = ${apache.group} 57 "pm" = "ondemand";
58 listen.owner = ${apache.user} 58 "pm.max_children" = "60";
59 listen.group = ${apache.group} 59 "pm.process_idle_timeout" = "60";
60 pm = ondemand
61 pm.max_children = 60
62 pm.process_idle_timeout = 60
63 60
64 ; Needed to avoid clashes in browser cookies (same domain) 61 # Needed to avoid clashes in browser cookies (same domain)
65 php_value[session.name] = RomprPHPSESSID 62 "php_value[session.name]" = "RomprPHPSESSID";
66 php_admin_value[open_basedir] = "${basedir}:/tmp" 63 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
67 php_admin_value[session.save_path] = "${varDir}/phpSessions" 64 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
68 php_flag[magic_quotes_gpc] = Off 65 "php_flag[magic_quotes_gpc]" = "Off";
69 php_flag[track_vars] = On 66 "php_flag[track_vars]" = "On";
70 php_flag[register_globals] = Off 67 "php_flag[register_globals]" = "Off";
71 php_admin_flag[allow_url_fopen] = On 68 "php_admin_flag[allow_url_fopen]" = "On";
72 php_value[include_path] = ${webRoot} 69 "php_value[include_path]" = "${webRoot}";
73 php_admin_value[upload_tmp_dir] = "${varDir}/prefs" 70 "php_admin_value[upload_tmp_dir]" = "${varDir}/prefs";
74 php_admin_value[post_max_size] = 32M 71 "php_admin_value[post_max_size]" = "32M";
75 php_admin_value[upload_max_filesize] = 32M 72 "php_admin_value[upload_max_filesize]" = "32M";
76 php_admin_value[memory_limit] = 256M 73 "php_admin_value[memory_limit]" = "256M";
77 ''; 74 };
78 }; 75 };
79} 76}
diff --git a/modules/private/websites/tools/tools/shaarli.nix b/modules/private/websites/tools/tools/shaarli.nix
index 0a75755..950d296 100644
--- a/modules/private/websites/tools/tools/shaarli.nix
+++ b/modules/private/websites/tools/tools/shaarli.nix
@@ -17,7 +17,7 @@ in rec {
17 modules = [ "proxy_fcgi" "rewrite" "env" ]; 17 modules = [ "proxy_fcgi" "rewrite" "env" ];
18 webappName = "tools_shaarli"; 18 webappName = "tools_shaarli";
19 root = "/run/current-system/webapps/${webappName}"; 19 root = "/run/current-system/webapps/${webappName}";
20 vhostConf = '' 20 vhostConf = socket: ''
21 Alias /Shaarli "${root}" 21 Alias /Shaarli "${root}"
22 22
23 Include /var/secrets/webapps/tools-shaarli 23 Include /var/secrets/webapps/tools-shaarli
@@ -27,7 +27,7 @@ in rec {
27 AllowOverride All 27 AllowOverride All
28 Require all granted 28 Require all granted
29 <FilesMatch "\.php$"> 29 <FilesMatch "\.php$">
30 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 30 SetHandler "proxy:unix:${socket}|fcgi://localhost"
31 </FilesMatch> 31 </FilesMatch>
32 </Directory> 32 </Directory>
33 ''; 33 '';
@@ -48,20 +48,17 @@ in rec {
48 phpFpm = rec { 48 phpFpm = rec {
49 serviceDeps = [ "openldap.service" ]; 49 serviceDeps = [ "openldap.service" ];
50 basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; 50 basedir = builtins.concatStringsSep ":" [ webRoot varDir ];
51 socket = "/var/run/phpfpm/shaarli.sock"; 51 pool = {
52 pool = '' 52 "listen.owner" = apache.user;
53 user = ${apache.user} 53 "listen.group" = apache.group;
54 group = ${apache.group} 54 "pm" = "ondemand";
55 listen.owner = ${apache.user} 55 "pm.max_children" = "60";
56 listen.group = ${apache.group} 56 "pm.process_idle_timeout" = "60";
57 pm = ondemand
58 pm.max_children = 60
59 pm.process_idle_timeout = 60
60 57
61 ; Needed to avoid clashes in browser cookies (same domain) 58 # Needed to avoid clashes in browser cookies (same domain)
62 php_value[session.name] = ShaarliPHPSESSID 59 "php_value[session.name]" = "ShaarliPHPSESSID";
63 php_admin_value[open_basedir] = "${basedir}:/tmp" 60 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
64 php_admin_value[session.save_path] = "${varDir}/phpSessions" 61 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
65 ''; 62 };
66 }; 63 };
67} 64}
diff --git a/modules/private/websites/tools/tools/ttrss.nix b/modules/private/websites/tools/tools/ttrss.nix
index a8b2a93..48876d3 100644
--- a/modules/private/websites/tools/tools/ttrss.nix
+++ b/modules/private/websites/tools/tools/ttrss.nix
@@ -95,12 +95,12 @@ rec {
95 modules = [ "proxy_fcgi" ]; 95 modules = [ "proxy_fcgi" ];
96 webappName = "tools_ttrss"; 96 webappName = "tools_ttrss";
97 root = "/run/current-system/webapps/${webappName}"; 97 root = "/run/current-system/webapps/${webappName}";
98 vhostConf = '' 98 vhostConf = socket: ''
99 Alias /ttrss "${root}" 99 Alias /ttrss "${root}"
100 <Directory "${root}"> 100 <Directory "${root}">
101 DirectoryIndex index.php 101 DirectoryIndex index.php
102 <FilesMatch "\.php$"> 102 <FilesMatch "\.php$">
103 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 103 SetHandler "proxy:unix:${socket}|fcgi://localhost"
104 </FilesMatch> 104 </FilesMatch>
105 105
106 AllowOverride All 106 AllowOverride All
@@ -114,20 +114,17 @@ rec {
114 basedir = builtins.concatStringsSep ":" ( 114 basedir = builtins.concatStringsSep ":" (
115 [ webRoot "/var/secrets/webapps/tools-ttrss" varDir ] 115 [ webRoot "/var/secrets/webapps/tools-ttrss" varDir ]
116 ++ webRoot.plugins); 116 ++ webRoot.plugins);
117 socket = "/var/run/phpfpm/ttrss.sock"; 117 pool = {
118 pool = '' 118 "listen.owner" = apache.user;
119 user = ${apache.user} 119 "listen.group" = apache.group;
120 group = ${apache.group} 120 "pm" = "ondemand";
121 listen.owner = ${apache.user} 121 "pm.max_children" = "60";
122 listen.group = ${apache.group} 122 "pm.process_idle_timeout" = "60";
123 pm = ondemand 123
124 pm.max_children = 60 124 # Needed to avoid clashes in browser cookies (same domain)
125 pm.process_idle_timeout = 60 125 "php_value[session.name]" = "TtrssPHPSESSID";
126 126 "php_admin_value[open_basedir]" = "${basedir}:/tmp";
127 ; Needed to avoid clashes in browser cookies (same domain) 127 "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
128 php_value[session.name] = TtrssPHPSESSID 128 };
129 php_admin_value[open_basedir] = "${basedir}:/tmp"
130 php_admin_value[session.save_path] = "${varDir}/phpSessions"
131 '';
132 }; 129 };
133} 130}
diff --git a/modules/private/websites/tools/tools/wallabag.nix b/modules/private/websites/tools/tools/wallabag.nix
index 014d8a1..00e2dc9 100644
--- a/modules/private/websites/tools/tools/wallabag.nix
+++ b/modules/private/websites/tools/tools/wallabag.nix
@@ -82,7 +82,7 @@ rec {
82 modules = [ "proxy_fcgi" ]; 82 modules = [ "proxy_fcgi" ];
83 webappName = "tools_wallabag"; 83 webappName = "tools_wallabag";
84 root = "/run/current-system/webapps/${webappName}"; 84 root = "/run/current-system/webapps/${webappName}";
85 vhostConf = '' 85 vhostConf = socket: ''
86 Alias /wallabag "${root}" 86 Alias /wallabag "${root}"
87 <Directory "${root}"> 87 <Directory "${root}">
88 AllowOverride None 88 AllowOverride None
@@ -91,7 +91,7 @@ rec {
91 CGIPassAuth On 91 CGIPassAuth On
92 92
93 <FilesMatch "\.php$"> 93 <FilesMatch "\.php$">
94 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 94 SetHandler "proxy:unix:${socket}|fcgi://localhost"
95 </FilesMatch> 95 </FilesMatch>
96 96
97 <IfModule mod_rewrite.c> 97 <IfModule mod_rewrite.c>
@@ -129,22 +129,19 @@ rec {
129 ''; 129 '';
130 serviceDeps = [ "postgresql.service" "openldap.service" ]; 130 serviceDeps = [ "postgresql.service" "openldap.service" ];
131 basedir = builtins.concatStringsSep ":" [ webappDir "/var/secrets/webapps/tools-wallabag" varDir ]; 131 basedir = builtins.concatStringsSep ":" [ webappDir "/var/secrets/webapps/tools-wallabag" varDir ];
132 socket = "/var/run/phpfpm/wallabag.sock"; 132 pool = {
133 pool = '' 133 "listen.owner" = apache.user;
134 user = ${apache.user} 134 "listen.group" = apache.group;
135 group = ${apache.group} 135 "pm" = "dynamic";
136 listen.owner = ${apache.user} 136 "pm.max_children" = "60";
137 listen.group = ${apache.group} 137 "pm.start_servers" = "2";
138 pm = dynamic 138 "pm.min_spare_servers" = "1";
139 pm.max_children = 60 139 "pm.max_spare_servers" = "10";
140 pm.start_servers = 2
141 pm.min_spare_servers = 1
142 pm.max_spare_servers = 10
143 140
144 ; Needed to avoid clashes in browser cookies (same domain) 141 # Needed to avoid clashes in browser cookies (same domain)
145 php_value[session.name] = WallabagPHPSESSID 142 "php_value[session.name]" = "WallabagPHPSESSID";
146 php_admin_value[open_basedir] = "/run/wrappers/bin/sendmail:${basedir}:/tmp" 143 "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/tmp";
147 php_value[max_execution_time] = 300 144 "php_value[max_execution_time]" = "300";
148 ''; 145 };
149 }; 146 };
150} 147}
diff --git a/modules/private/websites/tools/tools/yourls.nix b/modules/private/websites/tools/tools/yourls.nix
index 466ceae..cb03b6c 100644
--- a/modules/private/websites/tools/tools/yourls.nix
+++ b/modules/private/websites/tools/tools/yourls.nix
@@ -48,11 +48,11 @@ rec {
48 modules = [ "proxy_fcgi" ]; 48 modules = [ "proxy_fcgi" ];
49 webappName = "tools_yourls"; 49 webappName = "tools_yourls";
50 root = "/run/current-system/webapps/${webappName}"; 50 root = "/run/current-system/webapps/${webappName}";
51 vhostConf = '' 51 vhostConf = socket: ''
52 Alias /url "${root}" 52 Alias /url "${root}"
53 <Directory "${root}"> 53 <Directory "${root}">
54 <FilesMatch "\.php$"> 54 <FilesMatch "\.php$">
55 SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" 55 SetHandler "proxy:unix:${socket}|fcgi://localhost"
56 </FilesMatch> 56 </FilesMatch>
57 57
58 AllowOverride None 58 AllowOverride None
@@ -73,20 +73,17 @@ rec {
73 basedir = builtins.concatStringsSep ":" ( 73 basedir = builtins.concatStringsSep ":" (
74 [ webRoot "/var/secrets/webapps/tools-yourls" ] 74 [ webRoot "/var/secrets/webapps/tools-yourls" ]
75 ++ webRoot.plugins); 75 ++ webRoot.plugins);
76 socket = "/var/run/phpfpm/yourls.sock"; 76 pool = {
77 pool = '' 77 "listen.owner" = apache.user;
78 user = ${apache.user} 78 "listen.group" = apache.group;
79 group = ${apache.group} 79 "pm" = "ondemand";
80 listen.owner = ${apache.user} 80 "pm.max_children" = "60";
81 listen.group = ${apache.group} 81 "pm.process_idle_timeout" = "60";
82 pm = ondemand
83 pm.max_children = 60
84 pm.process_idle_timeout = 60
85 82
86 ; Needed to avoid clashes in browser cookies (same domain) 83 # Needed to avoid clashes in browser cookies (same domain)
87 php_value[session.name] = YourlsPHPSESSID 84 "php_value[session.name]" = "YourlsPHPSESSID";
88 php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/yourls" 85 "php_admin_value[open_basedir]" = "${basedir}:/tmp:/var/lib/php/sessions/yourls";
89 php_admin_value[session.save_path] = "/var/lib/php/sessions/yourls" 86 "php_admin_value[session.save_path]" = "/var/lib/php/sessions/yourls";
90 ''; 87 };
91 }; 88 };
92} 89}
diff --git a/modules/webapps/mastodon.nix b/modules/webapps/mastodon.nix
index eed9e3f..68531cf 100644
--- a/modules/webapps/mastodon.nix
+++ b/modules/webapps/mastodon.nix
@@ -27,7 +27,7 @@ in
27 ''; 27 '';
28 }; 28 };
29 socketsPrefix = lib.mkOption { 29 socketsPrefix = lib.mkOption {
30 type = lib.types.string; 30 type = lib.types.str;
31 default = "live"; 31 default = "live";
32 description = '' 32 description = ''
33 The prefix to use for Mastodon sockets. 33 The prefix to use for Mastodon sockets.
diff --git a/modules/webapps/webstats/default.nix b/modules/webapps/webstats/default.nix
index e822645..fe5f068 100644
--- a/modules/webapps/webstats/default.nix
+++ b/modules/webapps/webstats/default.nix
@@ -23,7 +23,7 @@ in {
23 ''; 23 '';
24 }; 24 };
25 name = lib.mkOption { 25 name = lib.mkOption {
26 type = lib.types.string; 26 type = lib.types.str;
27 description = '' 27 description = ''
28 Domain name. Corresponds to the Apache file name and the 28 Domain name. Corresponds to the Apache file name and the
29 folder name in which the state will be saved. 29 folder name in which the state will be saved.
diff --git a/modules/websites/default.nix b/modules/websites/default.nix
index 767a7b2..3f46e65 100644
--- a/modules/websites/default.nix
+++ b/modules/websites/default.nix
@@ -38,7 +38,7 @@ in
38 description = "Name of the httpd instance to assign this type to"; 38 description = "Name of the httpd instance to assign this type to";
39 }; 39 };
40 ips = mkOption { 40 ips = mkOption {
41 type = listOf string; 41 type = listOf str;
42 default = []; 42 default = [];
43 description = "ips to listen to"; 43 description = "ips to listen to";
44 }; 44 };
@@ -59,7 +59,7 @@ in
59 options = { 59 options = {
60 enable = mkEnableOption "Add default no-ssl vhost for this instance"; 60 enable = mkEnableOption "Add default no-ssl vhost for this instance";
61 host = mkOption { 61 host = mkOption {
62 type = string; 62 type = str;
63 description = "The hostname to use for this vhost"; 63 description = "The hostname to use for this vhost";
64 }; 64 };
65 root = mkOption { 65 root = mkOption {
@@ -68,7 +68,7 @@ in
68 description = "The root folder to serve"; 68 description = "The root folder to serve";
69 }; 69 };
70 indexFile = mkOption { 70 indexFile = mkOption {
71 type = string; 71 type = str;
72 default = "index.html"; 72 default = "index.html";
73 description = "The index file to show."; 73 description = "The index file to show.";
74 }; 74 };
@@ -79,8 +79,8 @@ in
79 description = "The fallback vhost that will be defined as first vhost in Apache"; 79 description = "The fallback vhost that will be defined as first vhost in Apache";
80 type = submodule { 80 type = submodule {
81 options = { 81 options = {
82 certName = mkOption { type = string; }; 82 certName = mkOption { type = str; };
83 hosts = mkOption { type = listOf string; }; 83 hosts = mkOption { type = listOf str; };
84 root = mkOption { type = nullOr path; }; 84 root = mkOption { type = nullOr path; };
85 extraConfig = mkOption { type = listOf lines; default = []; }; 85 extraConfig = mkOption { type = listOf lines; default = []; };
86 }; 86 };
@@ -91,7 +91,7 @@ in
91 description = "List of no ssl vhosts to define for Apache"; 91 description = "List of no ssl vhosts to define for Apache";
92 type = attrsOf (submodule { 92 type = attrsOf (submodule {
93 options = { 93 options = {
94 hosts = mkOption { type = listOf string; }; 94 hosts = mkOption { type = listOf str; };
95 root = mkOption { type = nullOr path; }; 95 root = mkOption { type = nullOr path; };
96 extraConfig = mkOption { type = listOf lines; default = []; }; 96 extraConfig = mkOption { type = listOf lines; default = []; };
97 }; 97 };
@@ -102,25 +102,25 @@ in
102 description = "List of vhosts to define for Apache"; 102 description = "List of vhosts to define for Apache";
103 type = attrsOf (submodule { 103 type = attrsOf (submodule {
104 options = { 104 options = {
105 certName = mkOption { type = string; }; 105 certName = mkOption { type = str; };
106 addToCerts = mkOption { 106 addToCerts = mkOption {
107 type = bool; 107 type = bool;
108 default = false; 108 default = false;
109 description = "Use these to certificates. Is ignored (considered true) if certMainHost is not null"; 109 description = "Use these to certificates. Is ignored (considered true) if certMainHost is not null";
110 }; 110 };
111 certMainHost = mkOption { 111 certMainHost = mkOption {
112 type = nullOr string; 112 type = nullOr str;
113 description = "Use that host as 'main host' for acme certs"; 113 description = "Use that host as 'main host' for acme certs";
114 default = null; 114 default = null;
115 }; 115 };
116 hosts = mkOption { type = listOf string; }; 116 hosts = mkOption { type = listOf str; };
117 root = mkOption { type = nullOr path; }; 117 root = mkOption { type = nullOr path; };
118 extraConfig = mkOption { type = listOf lines; default = []; }; 118 extraConfig = mkOption { type = listOf lines; default = []; };
119 }; 119 };
120 }); 120 });
121 }; 121 };
122 watchPaths = mkOption { 122 watchPaths = mkOption {
123 type = listOf string; 123 type = listOf str;
124 default = []; 124 default = [];
125 description = '' 125 description = ''
126 Paths to watch that should trigger a reload of httpd 126 Paths to watch that should trigger a reload of httpd
@@ -178,9 +178,9 @@ in
178 }; 178 };
179 toVhost = ips: vhostConf: { 179 toVhost = ips: vhostConf: {
180 enableSSL = true; 180 enableSSL = true;
181 sslServerCert = "${config.security.acme2.certs."${vhostConf.certName}".directory}/cert.pem"; 181 sslServerCert = "${config.security.acme.certs."${vhostConf.certName}".directory}/cert.pem";
182 sslServerKey = "${config.security.acme2.certs."${vhostConf.certName}".directory}/key.pem"; 182 sslServerKey = "${config.security.acme.certs."${vhostConf.certName}".directory}/key.pem";
183 sslServerChain = "${config.security.acme2.certs."${vhostConf.certName}".directory}/chain.pem"; 183 sslServerChain = "${config.security.acme.certs."${vhostConf.certName}".directory}/chain.pem";
184 logFormat = "combinedVhost"; 184 logFormat = "combinedVhost";
185 listen = map (ip: { inherit ip; port = 443; }) ips; 185 listen = map (ip: { inherit ip; port = 443; }) ips;
186 hostName = builtins.head vhostConf.hosts; 186 hostName = builtins.head vhostConf.hosts;
@@ -231,7 +231,7 @@ in
231 } 231 }
232 ) cfg.env; 232 ) cfg.env;
233 233
234 config.security.acme2.certs = let 234 config.security.acme.certs = let
235 typesToManage = attrsets.filterAttrs (k: v: v.enable) cfg.env; 235 typesToManage = attrsets.filterAttrs (k: v: v.enable) cfg.env;
236 flatVhosts = lists.flatten (attrsets.mapAttrsToList (k: v: 236 flatVhosts = lists.flatten (attrsets.mapAttrsToList (k: v:
237 attrValues v.vhostConfs 237 attrValues v.vhostConfs
diff --git a/modules/websites/httpd-service-builder.nix b/modules/websites/httpd-service-builder.nix
index d049202..f0208ab 100644
--- a/modules/websites/httpd-service-builder.nix
+++ b/modules/websites/httpd-service-builder.nix
@@ -11,8 +11,6 @@ let
11 11
12 httpd = mainCfg.package.out; 12 httpd = mainCfg.package.out;
13 13
14 version24 = !versionOlder httpd.version "2.4";
15
16 httpdConf = mainCfg.configFile; 14 httpdConf = mainCfg.configFile;
17 15
18 php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; 16 php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ };
@@ -26,10 +24,9 @@ let
26 else [{ip = "*"; port = 80;}]; 24 else [{ip = "*"; port = 80;}];
27 25
28 getListen = cfg: 26 getListen = cfg:
29 let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; 27 if cfg.listen == []
30 in if list == [] 28 then defaultListen cfg
31 then defaultListen cfg 29 else cfg.listen;
32 else list;
33 30
34 listenToString = l: "${l.ip}:${toString l.port}"; 31 listenToString = l: "${l.ip}:${toString l.port}";
35 32
@@ -110,11 +107,10 @@ let
110 "auth_basic" "auth_digest" 107 "auth_basic" "auth_digest"
111 108
112 # Authentication: is the user who he claims to be? 109 # Authentication: is the user who he claims to be?
113 "authn_file" "authn_dbm" "authn_anon" 110 "authn_file" "authn_dbm" "authn_anon" "authn_core"
114 (if version24 then "authn_core" else "authn_alias")
115 111
116 # Authorization: is the user allowed access? 112 # Authorization: is the user allowed access?
117 "authz_user" "authz_groupfile" "authz_host" 113 "authz_user" "authz_groupfile" "authz_host" "authz_core"
118 114
119 # Other modules. 115 # Other modules.
120 "ext_filter" "include" "log_config" "env" "mime_magic" 116 "ext_filter" "include" "log_config" "env" "mime_magic"
@@ -122,14 +118,9 @@ let
122 "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" 118 "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs"
123 "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" 119 "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling"
124 "userdir" "alias" "rewrite" "proxy" "proxy_http" 120 "userdir" "alias" "rewrite" "proxy" "proxy_http"
125 ] 121 "unixd" "cache" "cache_disk" "slotmem_shm" "socache_shmcb"
126 ++ optionals version24 [
127 "mpm_${mainCfg.multiProcessingModule}" 122 "mpm_${mainCfg.multiProcessingModule}"
128 "authz_core" 123
129 "unixd"
130 "cache" "cache_disk"
131 "slotmem_shm"
132 "socache_shmcb"
133 # For compatibility with old configurations, the new module mod_access_compat is provided. 124 # For compatibility with old configurations, the new module mod_access_compat is provided.
134 "access_compat" 125 "access_compat"
135 ] 126 ]
@@ -138,19 +129,8 @@ let
138 ++ extraApacheModules; 129 ++ extraApacheModules;
139 130
140 131
141 allDenied = if version24 then '' 132 allDenied = "Require all denied";
142 Require all denied 133 allGranted = "Require all granted";
143 '' else ''
144 Order deny,allow
145 Deny from all
146 '';
147
148 allGranted = if version24 then ''
149 Require all granted
150 '' else ''
151 Order allow,deny
152 Allow from all
153 '';
154 134
155 135
156 loggingConf = (if mainCfg.logFormat != "none" then '' 136 loggingConf = (if mainCfg.logFormat != "none" then ''
@@ -183,9 +163,9 @@ let
183 163
184 164
185 sslConf = '' 165 sslConf = ''
186 SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) 166 SSLSessionCache shmcb:${mainCfg.stateDir}/ssl_scache(512000)
187 167
188 ${if version24 then "Mutex" else "SSLMutex"} posixsem 168 Mutex posixsem
189 169
190 SSLRandomSeed startup builtin 170 SSLRandomSeed startup builtin
191 SSLRandomSeed connect builtin 171 SSLRandomSeed connect builtin
@@ -325,9 +305,7 @@ let
325 305
326 ServerRoot ${httpd} 306 ServerRoot ${httpd}
327 307
328 ${optionalString version24 '' 308 DefaultRuntimeDir ${mainCfg.stateDir}/runtime
329 DefaultRuntimeDir ${mainCfg.stateDir}/runtime
330 ''}
331 309
332 PidFile ${mainCfg.stateDir}/httpd.pid 310 PidFile ${mainCfg.stateDir}/httpd.pid
333 311
@@ -361,7 +339,7 @@ let
361 ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } 339 ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
362 ++ concatMap (svc: svc.extraModules) allSubservices 340 ++ concatMap (svc: svc.extraModules) allSubservices
363 ++ extraForeignModules; 341 ++ extraForeignModules;
364 in concatMapStrings load allModules 342 in concatMapStrings load (unique allModules)
365 } 343 }
366 344
367 AddHandler type-map var 345 AddHandler type-map var
@@ -393,14 +371,6 @@ let
393 # Generate directives for the main server. 371 # Generate directives for the main server.
394 ${perServerConf true mainCfg} 372 ${perServerConf true mainCfg}
395 373
396 # Always enable virtual hosts; it doesn't seem to hurt.
397 ${let
398 listen = concatMap getListen allHosts;
399 uniqueListen = uniqList {inputList = listen;};
400 directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen;
401 in optionalString (!version24) directives
402 }
403
404 ${let 374 ${let
405 makeVirtualHost = vhost: '' 375 makeVirtualHost = vhost: ''
406 <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}> 376 <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}>
@@ -663,7 +633,7 @@ in
663 message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } 633 message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; }
664 ]; 634 ];
665 635
666 warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); 636 warnings = map (cfg: "apache-httpd's extraSubservices option is deprecated. Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.") (lib.filter (cfg: cfg.extraSubservices != []) allHosts);
667 637
668 users.users = optionalAttrs (withUsers && mainCfg.user == "wwwrun") (singleton 638 users.users = optionalAttrs (withUsers && mainCfg.user == "wwwrun") (singleton
669 { name = "wwwrun"; 639 { name = "wwwrun";
@@ -686,7 +656,7 @@ in
686 656
687 ; Don't advertise PHP 657 ; Don't advertise PHP
688 expose_php = off 658 expose_php = off
689 '' + optionalString (!isNull config.time.timeZone) '' 659 '' + optionalString (config.time.timeZone != null) ''
690 660
691 ; Apparently PHP doesn't use $TZ. 661 ; Apparently PHP doesn't use $TZ.
692 date.timezone = "${config.time.timeZone}" 662 date.timezone = "${config.time.timeZone}"
@@ -713,10 +683,10 @@ in
713 '' 683 ''
714 mkdir -m 0750 -p ${mainCfg.stateDir} 684 mkdir -m 0750 -p ${mainCfg.stateDir}
715 [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} 685 [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir}
716 ${optionalString version24 '' 686
717 mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" 687 mkdir -m 0750 -p "${mainCfg.stateDir}/runtime"
718 [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" 688 [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime"
719 ''} 689
720 mkdir -m 0700 -p ${mainCfg.logDir} 690 mkdir -m 0700 -p ${mainCfg.logDir}
721 691
722 # Get rid of old semaphores. These tend to accumulate across 692 # Get rid of old semaphores. These tend to accumulate across
diff --git a/modules/websites/php-application.nix b/modules/websites/php-application.nix
index 8ad7a0d..20e2a5d 100644
--- a/modules/websites/php-application.nix
+++ b/modules/websites/php-application.nix
@@ -44,10 +44,15 @@ in
44 description = "Name of the socket to listen to. Defaults to app name if null"; 44 description = "Name of the socket to listen to. Defaults to app name if null";
45 }; 45 };
46 phpPool = mkOption { 46 phpPool = mkOption {
47 type = lines; 47 type = attrsOf str;
48 default = ""; 48 default = {};
49 description = "Pool configuration to append"; 49 description = "Pool configuration to append";
50 }; 50 };
51 phpEnv = mkOption {
52 type = attrsOf str;
53 default = {};
54 description = "Pool environment to append";
55 };
51 phpOptions = mkOption { 56 phpOptions = mkOption {
52 type = lines; 57 type = lines;
53 default = ""; 58 default = "";
@@ -135,7 +140,7 @@ in
135 services.phpApplication.phpListenPaths = mkOption { 140 services.phpApplication.phpListenPaths = mkOption {
136 type = attrsOf path; 141 type = attrsOf path;
137 default = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair 142 default = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
138 name "/run/phpfpm/${if icfg.phpListen == null then name else icfg.phpListen}.sock" 143 name config.services.phpfpm.pools."${name}".socket
139 ) cfg.apps; 144 ) cfg.apps;
140 readOnly = true; 145 readOnly = true;
141 description = '' 146 description = ''
@@ -162,17 +167,17 @@ in
162 167
163 services.phpfpm.pools = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair 168 services.phpfpm.pools = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
164 name { 169 name {
165 listen = cfg.phpListenPaths."${name}"; 170 user = icfg.httpdUser;
166 extraConfig = '' 171 group = icfg.httpdUser;
167 user = ${icfg.httpdUser} 172 settings = {
168 group = ${icfg.httpdGroup} 173 "listen.owner" = icfg.httpdUser;
169 listen.owner = ${icfg.httpdUser} 174 "listen.group" = icfg.httpdGroup;
170 listen.group = ${icfg.httpdGroup} 175 "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpWatchFiles ++ icfg.phpOpenbasedir);
171 ${optionalString (icfg.phpSession) '' 176 }
172 php_admin_value[session.save_path] = "${icfg.varDir}/phpSessions"''} 177 // optionalAttrs (icfg.phpSession) { "php_admin_value[session.save_path]" = "${icfg.varDir}/phpSessions"; }
173 php_admin_value[open_basedir] = "${builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpWatchFiles ++ icfg.phpOpenbasedir)}" 178 // icfg.phpPool;
174 '' + icfg.phpPool;
175 phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions; 179 phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions;
180 inherit (icfg) phpEnv;
176 } 181 }
177 ) cfg.apps; 182 ) cfg.apps;
178 183
diff --git a/nix/sources.json b/nix/sources.json
index 6af75bd..7c306c9 100644
--- a/nix/sources.json
+++ b/nix/sources.json
@@ -30,30 +30,39 @@
30 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" 30 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
31 }, 31 },
32 "nixpkgs-nixops": { 32 "nixpkgs-nixops": {
33 "channel_link": "https://nixos.org/channels/nixos-19.03", 33 "branch": "nixos-19.09",
34 "revision": "173677.daf861a810d", 34 "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
35 "sha256": "0v5bhdiyg1xv1dzsy7jbm301ighsvmi87wibw96iiky8sqs6qd4z", 35 "homepage": "https://github.com/NixOS/nixpkgs",
36 "owner": "NixOS",
37 "repo": "nixpkgs-channels",
38 "rev": "856dbd1a5c7fd826cf3668ff12a7389be0686f41",
39 "sha256": "1d895i1lc25d2akniaqg2n1jrg2rcd1gih8rpmhyrlv4lpggfmsx",
36 "type": "tarball", 40 "type": "tarball",
37 "url": "https://releases.nixos.org/nixos/19.03/nixos-19.03.173677.daf861a810d/nixexprs.tar.xz", 41 "url": "https://github.com/NixOS/nixpkgs-channels/archive/856dbd1a5c7fd826cf3668ff12a7389be0686f41.tar.gz",
38 "url_template": "https://releases.nixos.org/nixos/<version>/nixos-<version>.<revision>/nixexprs.tar.xz", 42 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
39 "version": "19.03"
40 }, 43 },
41 "nixpkgs-nixops-next": { 44 "nixpkgs-nixops-next": {
42 "channel_link": "https://nixos.org/channels/nixos-19.03", 45 "branch": "nixos-19.03",
43 "revision": "173677.daf861a810d", 46 "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
44 "sha256": "0v5bhdiyg1xv1dzsy7jbm301ighsvmi87wibw96iiky8sqs6qd4z", 47 "homepage": "https://github.com/NixOS/nixpkgs",
48 "owner": "NixOS",
49 "repo": "nixpkgs-channels",
50 "rev": "34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59",
51 "sha256": "11z6ajj108fy2q5g8y4higlcaqncrbjm3dnv17pvif6avagw4mcb",
45 "type": "tarball", 52 "type": "tarball",
46 "url": "https://releases.nixos.org/nixos/19.03/nixos-19.03.173677.daf861a810d/nixexprs.tar.xz", 53 "url": "https://github.com/NixOS/nixpkgs-channels/archive/34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59.tar.gz",
47 "url_template": "https://releases.nixos.org/nixos/<version>/nixos-<version>.<revision>/nixexprs.tar.xz", 54 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
48 "version": "19.03"
49 }, 55 },
50 "nixpkgs-nixops-previous": { 56 "nixpkgs-nixops-previous": {
51 "channel_link": "https://nixos.org/channels/nixos-19.03", 57 "branch": "nixos-19.03",
52 "revision": "173677.daf861a810d", 58 "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
53 "sha256": "0v5bhdiyg1xv1dzsy7jbm301ighsvmi87wibw96iiky8sqs6qd4z", 59 "homepage": "https://github.com/NixOS/nixpkgs",
60 "owner": "NixOS",
61 "repo": "nixpkgs-channels",
62 "rev": "34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59",
63 "sha256": "11z6ajj108fy2q5g8y4higlcaqncrbjm3dnv17pvif6avagw4mcb",
54 "type": "tarball", 64 "type": "tarball",
55 "url": "https://releases.nixos.org/nixos/19.03/nixos-19.03.173677.daf861a810d/nixexprs.tar.xz", 65 "url": "https://github.com/NixOS/nixpkgs-channels/archive/34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59.tar.gz",
56 "url_template": "https://releases.nixos.org/nixos/<version>/nixos-<version>.<revision>/nixexprs.tar.xz", 66 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
57 "version": "19.03"
58 } 67 }
59} 68}
diff --git a/nixops/Makefile b/nixops/Makefile
index d8268cc..8caf8b1 100644
--- a/nixops/Makefile
+++ b/nixops/Makefile
@@ -55,10 +55,10 @@ dry-run:
55 $(NIXOPS_PRIV) deploy --dry-run 55 $(NIXOPS_PRIV) deploy --dry-run
56 56
57build: 57build:
58 $(NIXOPS_PRIV) deploy --build-only 58 $(NIXOPS_PRIV) deploy --build-only --max-jobs 1
59 59
60upload: 60upload:
61 $(NIXOPS_PRIV) deploy --copy-only 61 $(NIXOPS_PRIV) deploy --copy-only --max-concurrent-copy 1
62 62
63deploy: 63deploy:
64 $(NIXOPS_PRIV) deploy 64 $(NIXOPS_PRIV) deploy
diff --git a/overlays/databases/mysql/default.nix b/overlays/databases/mysql/default.nix
index 5e40284..797332b 100644
--- a/overlays/databases/mysql/default.nix
+++ b/overlays/databases/mysql/default.nix
@@ -3,6 +3,12 @@ self: super: rec {
3 mariadbPAM = super.mariadb.overrideAttrs(old: { 3 mariadbPAM = super.mariadb.overrideAttrs(old: {
4 cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ]; 4 cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
5 buildInputs = old.buildInputs ++ [ self.pam ]; 5 buildInputs = old.buildInputs ++ [ self.pam ];
6 postInstall = old.postInstall + ''
7 # FIXME: hack because mariadb cannot find dialog.so
8 # fixed in 20.03: https://github.com/NixOS/nixpkgs/pull/80768
9 ln -s /nix $out/nix
10 cp "$dev"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so} "$out"/lib/mysql/plugin
11 '';
6 }) // (with super.mariadb; { 12 }) // (with super.mariadb; {
7 inherit client; 13 inherit client;
8 servier = super.mariadb; 14 servier = super.mariadb;
diff --git a/overlays/databases/postgresql/default.nix b/overlays/databases/postgresql/default.nix
index 8d1405e..ae58987 100644
--- a/overlays/databases/postgresql/default.nix
+++ b/overlays/databases/postgresql/default.nix
@@ -4,8 +4,5 @@ self: super: rec {
4 passthru = old.passthru // { psqlSchema = "11.0"; }; 4 passthru = old.passthru // { psqlSchema = "11.0"; };
5 configureFlags = old.configureFlags ++ [ "--with-pam" ]; 5 configureFlags = old.configureFlags ++ [ "--with-pam" ];
6 buildInputs = (old.buildInputs or []) ++ [ self.pam ]; 6 buildInputs = (old.buildInputs or []) ++ [ self.pam ];
7 patches = old.patches ++ [
8 ./postgresql_run_socket_path.patch
9 ];
10 }); 7 });
11} 8}
diff --git a/overlays/default.nix b/overlays/default.nix
index 9fd0117..b488fd7 100644
--- a/overlays/default.nix
+++ b/overlays/default.nix
@@ -31,5 +31,6 @@
31 ympd = import ./ympd; 31 ympd = import ./ympd;
32 doing = import ./doing; 32 doing = import ./doing;
33 xmr-stak = import ./xmr-stak; 33 xmr-stak = import ./xmr-stak;
34 simp_le = import ./simp_le;
34} 35}
35// import ./python-packages 36// import ./python-packages
diff --git a/overlays/gitweb/default.nix b/overlays/gitweb/default.nix
index aa17d22..2b9c0f6 100644
--- a/overlays/gitweb/default.nix
+++ b/overlays/gitweb/default.nix
@@ -1,6 +1,6 @@
1self: super: { 1self: super: {
2 gitweb = super.gitweb.overrideAttrs(old: { 2 gitweb = super.gitweb.overrideAttrs(old: {
3 installPhase = old.installPhase + '' 3 postInstall = old.postInstall or "" + ''
4 cp -r ${./theme} $out/gitweb-theme; 4 cp -r ${./theme} $out/gitweb-theme;
5 ''; 5 '';
6 }); 6 });
diff --git a/overlays/shaarli/default.nix b/overlays/shaarli/default.nix
index c2fb9cc..3b37ee8 100644
--- a/overlays/shaarli/default.nix
+++ b/overlays/shaarli/default.nix
@@ -1,5 +1,10 @@
1self: super: { 1self: super: {
2 shaarli = varDir: super.shaarli.overrideAttrs (old: { 2 shaarli = varDir: super.shaarli.overrideAttrs (old: rec {
3 version = "0.10.2";
4 src = self.fetchurl {
5 url = "https://github.com/shaarli/Shaarli/releases/download/v${version}/shaarli-v${version}-full.tar.gz";
6 sha256 = "0h8sspj7siy3vgpi2i3gdrjcr5935fr4dfwq2zwd70sjx2sh9s78";
7 };
3 patchPhase = ""; 8 patchPhase = "";
4 patches = (old.patches or []) ++ [ ./shaarli_ldap.patch ]; 9 patches = (old.patches or []) ++ [ ./shaarli_ldap.patch ];
5 installPhase = (old.installPhase or "") + '' 10 installPhase = (old.installPhase or "") + ''
diff --git a/overlays/simp_le/default.nix b/overlays/simp_le/default.nix
new file mode 100644
index 0000000..76891ed
--- /dev/null
+++ b/overlays/simp_le/default.nix
@@ -0,0 +1,3 @@
1self: super: {
2 simp_le = self.simp_le_0_17;
3}
diff --git a/pkgs/bitlbee-mastodon/default.nix b/pkgs/bitlbee-mastodon/default.nix
index 0451068..385db75 100644
--- a/pkgs/bitlbee-mastodon/default.nix
+++ b/pkgs/bitlbee-mastodon/default.nix
@@ -1,13 +1,13 @@
1{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, bitlbee, glib, lib }: 1{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, bitlbee, glib, lib }:
2stdenv.mkDerivation rec { 2stdenv.mkDerivation rec {
3 name = "bitlbee-mastodon-${version}"; 3 name = "bitlbee-mastodon-${version}";
4 version = "v1.4.2"; 4 version = "v1.4.4";
5 5
6 src = fetchFromGitHub { 6 src = fetchFromGitHub {
7 rev = version; 7 rev = version;
8 owner = "kensanata"; 8 owner = "kensanata";
9 repo = "bitlbee-mastodon"; 9 repo = "bitlbee-mastodon";
10 sha256 = "04rakgr1pfsg1vhfwlfbggbzw249j7dmk88xrsnf3n84c5ccdyas"; 10 sha256 = "0a8196pyr6bjnqg82zn7jdhiv7xsg4npbpzalla1i2h99j30q8pk";
11 }; 11 };
12 12
13 nativeBuildInputs = [ autoreconfHook pkgconfig ]; 13 nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
15 15
16 preConfigure = '' 16 preConfigure = ''
17 export BITLBEE_PLUGINDIR=$out/lib/bitlbee 17 export BITLBEE_PLUGINDIR=$out/lib/bitlbee
18 export BITLBEE_DATADIR=$out/share/bitlbee
19 chmod +x autogen.sh
18 ./autogen.sh 20 ./autogen.sh
19 ''; 21 '';
20 22
diff --git a/pkgs/mpd_0_21/default.nix b/pkgs/mpd_0_21/default.nix
index f19a76f..4f97e3f 100644
--- a/pkgs/mpd_0_21/default.nix
+++ b/pkgs/mpd_0_21/default.nix
@@ -21,13 +21,7 @@
21}: 21}:
22 22
23let 23let
24 major = "0.21";
25 minor = "7";
26
27 lib = stdenv.lib; 24 lib = stdenv.lib;
28 mkDisable = f: "-D${f}=disabled";
29 mkEnable = f: "-D${f}=enabled";
30 keys = lib.mapAttrsToList (k: v: k);
31 25
32 featureDependencies = { 26 featureDependencies = {
33 # Storage plugins 27 # Storage plugins
@@ -77,6 +71,7 @@ let
77 icu = [ icu ]; 71 icu = [ icu ];
78 pcre = [ pcre ]; 72 pcre = [ pcre ];
79 sqlite = [ sqlite ]; 73 sqlite = [ sqlite ];
74 syslog = [ ];
80 systemd = [ systemd ]; 75 systemd = [ systemd ];
81 yajl = [ yajl ]; 76 yajl = [ yajl ];
82 zeroconf = [ avahi dbus ]; 77 zeroconf = [ avahi dbus ];
@@ -84,49 +79,60 @@ let
84 79
85 run = { features ? null }: 80 run = { features ? null }:
86 let 81 let
87 fl = if (features == null )
88 then keys featureDependencies
89 else features;
90
91 # Disable platform specific features if needed 82 # Disable platform specific features if needed
92 # using libmad to decode mp3 files on darwin is causing a segfault -- there 83 # using libmad to decode mp3 files on darwin is causing a segfault -- there
93 # is probably a solution, but I'm disabling it for now 84 # is probably a solution, but I'm disabling it for now
94 platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smb" ] 85 platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
95 ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" ]; 86 ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
96 features_ = lib.subtractLists platformMask fl; 87
88 knownFeatures = builtins.attrNames featureDependencies;
89 platformFeatures = lib.subtractLists platformMask knownFeatures;
90
91 features_ = if (features == null )
92 then platformFeatures
93 else
94 let unknown = lib.subtractLists knownFeatures features; in
95 if (unknown != [])
96 then throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}"
97 else
98 let unsupported = lib.subtractLists platformFeatures features; in
99 if (unsupported != [])
100 then throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}"
101 else features;
97 102
98 in stdenv.mkDerivation rec { 103 in stdenv.mkDerivation rec {
99 name = "mpd-${version}"; 104 pname = "mpd";
100 version = "${major}${if minor == "" then "" else "." + minor}"; 105 version = "0.21.21";
101 106
102 src = fetchFromGitHub { 107 src = fetchFromGitHub {
103 owner = "MusicPlayerDaemon"; 108 owner = "MusicPlayerDaemon";
104 repo = "MPD"; 109 repo = "MPD";
105 rev = "v${version}"; 110 rev = "v${version}";
106 sha256 = "11zi8hmlj63ngzl06vzx05669k20j4cdsp0caz4p4ayn46fd4m17"; 111 sha256 = "0ysyjlmmfm1y5jqyv83bs9p7zqr9pgj1hmdq2b7kx9kridclbnng";
107 }; 112 };
108 113
109 buildInputs = [ glib boost ] 114 buildInputs = [ glib boost ]
110 ++ (lib.concatLists (lib.attrVals features_ featureDependencies)) 115 ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
111 ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AudioToolbox; 116 ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
112 117
113 nativeBuildInputs = [ meson ninja pkgconfig ]; 118 nativeBuildInputs = [ meson ninja pkgconfig ];
114 119
115 enableParallelBuilding = true; 120 enableParallelBuilding = true;
116 121
122 mesonAutoFeatures = "disabled";
117 mesonFlags = 123 mesonFlags =
118 map mkEnable features_ ++ map mkDisable (lib.subtractLists features_ (keys featureDependencies)) 124 map (x: "-D${x}=enabled") features_
119 ++ [ "-Dsyslog=enabled" ] 125 ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
120 ++ lib.optional (lib.any (x: x == "zeroconf") features_) 126 ++ lib.optional (builtins.elem "zeroconf" features_)
121 "-Dzeroconf=avahi" 127 "-Dzeroconf=avahi"
122 ++ lib.optional stdenv.isLinux 128 ++ lib.optional (builtins.elem "systemd" features_)
123 "-Dsystemd_system_unit_dir=etc/systemd/system"; 129 "-Dsystemd_system_unit_dir=etc/systemd/system";
124 130
125 meta = with stdenv.lib; { 131 meta = with stdenv.lib; {
126 description = "A flexible, powerful daemon for playing music"; 132 description = "A flexible, powerful daemon for playing music";
127 homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki; 133 homepage = "https://www.musicpd.org/";
128 license = licenses.gpl2; 134 license = licenses.gpl2;
129 maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz ]; 135 maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
130 platforms = platforms.unix; 136 platforms = platforms.unix;
131 137
132 longDescription = '' 138 longDescription = ''
@@ -140,13 +146,17 @@ in
140{ 146{
141 mpd = run { }; 147 mpd = run { };
142 mpd-small = run { features = [ 148 mpd-small = run { features = [
143 "webdav" "curl" "mms" "nfs" "bzip2" "zzip" 149 "webdav" "curl" "mms" "bzip2" "zzip"
144 "audiofile" "faad" "flac" "gme" "mad" 150 "audiofile" "faad" "flac" "gme" "mad"
145 "mpg123" "opus" "vorbis" 151 "mpg123" "opus" "vorbis" "vorbisenc"
146 "vorbisenc" "lame" "libsamplerate" 152 "lame" "libsamplerate" "shout"
147 "alsa" "shout" "libmpdclient" 153 "libmpdclient" "id3tag" "expat" "pcre"
148 "id3tag" "expat" "pcre" "yajl" "sqlite" 154 "yajl" "sqlite"
149 "soundcloud" "qobuz" "tidal" 155 "soundcloud" "qobuz" "tidal"
150 "systemd" 156 ] ++ lib.optionals stdenv.isLinux [
157 "alsa" "systemd" "syslog"
158 ] ++ lib.optionals (!stdenv.isDarwin) [
159 "mad" "jack" "nfs"
151 ]; }; 160 ]; };
161 mpdWithFeatures = run;
152} 162}
diff --git a/pkgs/mpd_0_21/default_old.nix b/pkgs/mpd_0_21/default_old.nix
new file mode 100644
index 0000000..129894d
--- /dev/null
+++ b/pkgs/mpd_0_21/default_old.nix
@@ -0,0 +1,156 @@
1{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost168, darwin
2, cmake, libupnp, sndio, chromaprint, soxr, libcdio, libcdio-paranoia, ao, libao
3, openal
4# Inputs
5, curl, libmms, libnfs, samba
6# Archive support
7, bzip2, zziplib
8# Codecs
9, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu
10, libmad, libmikmod, mpg123, libopus, libvorbis, lame
11# Filters
12, libsamplerate
13# Outputs
14, alsaLib, libjack2, libpulseaudio, libshout
15# Misc
16, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
17# Services
18, yajl
19# Client support
20, mpd_clientlib
21# Tag support
22, libid3tag
23}:
24
25let
26 major = "0.21";
27 minor = "7";
28
29 lib = stdenv.lib;
30 mkDisable = f: "-D${f}=disabled";
31 mkEnable = f: "-D${f}=enabled";
32 keys = lib.mapAttrsToList (k: v: k);
33
34 featureDependencies = {
35 # Storage plugins
36 udisks = [ dbus ];
37 webdav = [ curl expat ];
38 # Input plugins
39 curl = [ curl ];
40 mms = [ libmms ];
41 nfs = [ libnfs ];
42 smbclient = [ samba ];
43 # Archive support
44 bzip2 = [ bzip2 ];
45 zzip = [ zziplib ];
46 # Decoder plugins
47 audiofile = [ audiofile ];
48 faad = [ faad2 ];
49 ffmpeg = [ ffmpeg ];
50 flac = [ flac ];
51 fluidsynth = [ fluidsynth ];
52 gme = [ game-music-emu ];
53 mad = [ libmad ];
54 mikmod = [ libmikmod ];
55 mpg123 = [ mpg123 ];
56 opus = [ libopus ];
57 vorbis = [ libvorbis ];
58 # Encoder plugins
59 vorbisenc = [ libvorbis ];
60 lame = [ lame ];
61 # Filter plugins
62 libsamplerate = [ libsamplerate ];
63 # Output plugins
64 alsa = [ alsaLib ];
65 jack = [ libjack2 ];
66 pulse = [ libpulseaudio ];
67 shout = [ libshout ];
68 # Commercial services
69 qobuz = [ curl libgcrypt yajl ];
70 soundcloud = [ curl yajl ];
71 tidal = [ curl yajl ];
72 # Client support
73 libmpdclient = [ mpd_clientlib ];
74 # Tag support
75 id3tag = [ libid3tag ];
76 # Misc
77 dbus = [ dbus ];
78 expat = [ expat ];
79 icu = [ icu ];
80 pcre = [ pcre ];
81 sqlite = [ sqlite ];
82 systemd = [ systemd ];
83 yajl = [ yajl ];
84 zeroconf = [ avahi dbus ];
85 };
86
87 run = { features ? null }:
88 let
89 fl = if (features == null )
90 then keys featureDependencies
91 else features;
92
93 # Disable platform specific features if needed
94 # using libmad to decode mp3 files on darwin is causing a segfault -- there
95 # is probably a solution, but I'm disabling it for now
96 platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smb" ]
97 ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" ];
98 features_ = lib.subtractLists platformMask fl;
99
100 in stdenv.mkDerivation rec {
101 name = "mpd-${version}";
102 version = "${major}${if minor == "" then "" else "." + minor}";
103
104 src = fetchFromGitHub {
105 owner = "MusicPlayerDaemon";
106 repo = "MPD";
107 rev = "v${version}";
108 sha256 = "11zi8hmlj63ngzl06vzx05669k20j4cdsp0caz4p4ayn46fd4m17";
109 };
110
111 buildInputs = [ cmake glib boost168 sndio libupnp chromaprint soxr
112 libcdio libcdio-paranoia ao libao openal libvorbis
113 ]
114 ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
115 ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AudioToolbox;
116
117 nativeBuildInputs = [ meson ninja pkgconfig ];
118
119 enableParallelBuilding = true;
120
121 mesonFlags =
122 map mkEnable features_ ++ map mkDisable (lib.subtractLists features_ (keys featureDependencies))
123 ++ [ "-Dsyslog=enabled" ]
124 ++ lib.optional (lib.any (x: x == "zeroconf") features_)
125 "-Dzeroconf=avahi"
126 ++ lib.optional stdenv.isLinux
127 "-Dsystemd_system_unit_dir=etc/systemd/system";
128
129 meta = with stdenv.lib; {
130 description = "A flexible, powerful daemon for playing music";
131 homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
132 license = licenses.gpl2;
133 maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz ];
134 platforms = platforms.unix;
135
136 longDescription = ''
137 Music Player Daemon (MPD) is a flexible, powerful daemon for playing
138 music. Through plugins and libraries it can play a variety of sound
139 files while being controlled by its network protocol.
140 '';
141 };
142 };
143in
144{
145 mpd = run { };
146 mpd-small = run { features = [
147 "webdav" "curl" "mms" "nfs" "bzip2" "zzip"
148 "audiofile" "faad" "flac" "gme" "mad"
149 "mpg123" "opus" "vorbis"
150 "vorbisenc" "lame" "libsamplerate"
151 "alsa" "shout" "libmpdclient"
152 "id3tag" "expat" "pcre" "yajl" "sqlite"
153 "soundcloud" "qobuz" "tidal"
154 "systemd"
155 ]; };
156}
diff --git a/pkgs/private/webapps/aten/default.nix b/pkgs/private/webapps/aten/default.nix
index c36e15d..5a726e9 100644
--- a/pkgs/private/webapps/aten/default.nix
+++ b/pkgs/private/webapps/aten/default.nix
@@ -22,7 +22,7 @@ let
22 postInstall = let 22 postInstall = let
23 nodeHeaders = fetchurl { 23 nodeHeaders = fetchurl {
24 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; 24 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
25 sha256 = "16f20ya3ys6w5w6y6l4536f7jrgk4gz46bf71w1r1xxb26a54m32"; 25 sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
26 }; 26 };
27 in 27 in
28 '' 28 ''
diff --git a/pkgs/private/webapps/chloe/chloe.json b/pkgs/private/webapps/chloe/chloe.json
index 6d58e8c..8508c14 100644
--- a/pkgs/private/webapps/chloe/chloe.json
+++ b/pkgs/private/webapps/chloe/chloe.json
@@ -1,5 +1,5 @@
1{ 1{
2 "tag": "96fc4eb-master", 2 "tag": "b971edc-master",
3 "meta": { 3 "meta": {
4 "name": "chloe", 4 "name": "chloe",
5 "url": "ssh://gitolite@git.immae.eu/perso/Immae/Sites/Chloe", 5 "url": "ssh://gitolite@git.immae.eu/perso/Immae/Sites/Chloe",
@@ -7,8 +7,8 @@
7 }, 7 },
8 "git": { 8 "git": {
9 "url": "ssh://gitolite@git.immae.eu/perso/Immae/Sites/Chloe", 9 "url": "ssh://gitolite@git.immae.eu/perso/Immae/Sites/Chloe",
10 "rev": "96fc4eb0099a29b0f9a58fb4eaec4bf14ac65f0a", 10 "rev": "b971edce80e922e895836ddf7caeb4023a2db973",
11 "sha256": "0mf15j6z86j2smm2k360cmm5djhcjbs9949pznwi57kw97vkm1s3", 11 "sha256": "1igjr0rgp69szrhcl8kz02ng54w8lw6r0c6jibigp8v5a4spp222",
12 "fetchSubmodules": true 12 "fetchSubmodules": true
13 } 13 }
14} 14}
diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json
index 27ca94c..e61d7ab 100644
--- a/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json
+++ b/pkgs/python-packages/buildbot/plugins/buildslist/buildslist.json
@@ -1,5 +1,5 @@
1{ 1{
2 "tag": "9e87787-master", 2 "tag": "fb8641f-master",
3 "meta": { 3 "meta": {
4 "name": "buildslist", 4 "name": "buildslist",
5 "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", 5 "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist",
@@ -7,8 +7,8 @@
7 }, 7 },
8 "git": { 8 "git": {
9 "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist", 9 "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist",
10 "rev": "9e87787b40f4d6435218268e516be56eacd8d17b", 10 "rev": "fb8641f2badcec9f232cc5f727009911fc1c89b0",
11 "sha256": "0bli9w0xwpij23jblggz2zwhb7y3gkjdvsppcy6ia3m0x0siclpi", 11 "sha256": "0hgz5yaq0mz9lvfywbkbjap7z55839k18vfyg1yhx6l1mvvbq8zc",
12 "fetchSubmodules": true 12 "fetchSubmodules": true
13 } 13 }
14} 14}
diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix
index a1a87b2..e5087e4 100644
--- a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix
+++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix
@@ -1,9 +1,13 @@
1{ mylibs, runCommand, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs }: 1{ mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, python2, fetchurl, jq, yarn, nodejs }:
2let 2let
3 buildslist_src = mylibs.fetchedGit ./buildslist.json; 3 buildslist_src = mylibs.fetchedGit ./buildslist.json;
4 packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' 4 packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
5 cat ${buildslist_src.src}/package.json | jq -r '.version = "${pythonPackages.buildbot-pkg.version}"' > $out 5 cat ${buildslist_src.src}/package.json | jq -r '.version = "${pythonPackages.buildbot-pkg.version}"|.license= "MIT"' > $out
6 ''; 6 '';
7 nodeHeaders = fetchurl {
8 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
9 sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
10 };
7 buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { 11 buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec {
8 name = "buildslist-yarn-modules"; 12 name = "buildslist-yarn-modules";
9 pname = name; 13 pname = name;
@@ -15,12 +19,7 @@ let
15 all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; }; 19 all = { buildInputs = [ mylibs.yarn2nixPackage.src ]; };
16 node-sass = { 20 node-sass = {
17 buildInputs = [ libsass python ]; 21 buildInputs = [ libsass python ];
18 postInstall = let 22 postInstall =
19 nodeHeaders = fetchurl {
20 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
21 sha256 = "16f20ya3ys6w5w6y6l4536f7jrgk4gz46bf71w1r1xxb26a54m32";
22 };
23 in
24 '' 23 ''
25 node scripts/build.js --tarball=${nodeHeaders} 24 node scripts/build.js --tarball=${nodeHeaders}
26 ''; 25 '';
@@ -32,6 +31,13 @@ let
32 generated = ./bower.nix; 31 generated = ./bower.nix;
33 src = "${buildslist_src.src}/guanlecoja/"; 32 src = "${buildslist_src.src}/guanlecoja/";
34 }; 33 };
34 # the buildbot-pkg calls yarn and screws up everything...
35 fakeYarn = writeScriptBin "yarn" ''
36 #!${stdenv.shell}
37 if [ "$1" = "--version" ]; then
38 echo "1.17"
39 fi
40 '';
35in 41in
36pythonPackages.buildPythonPackage rec { 42pythonPackages.buildPythonPackage rec {
37 pname = "buildbot-buildslist"; 43 pname = "buildbot-buildslist";
@@ -41,13 +47,14 @@ pythonPackages.buildPythonPackage rec {
41 export HOME=$PWD 47 export HOME=$PWD
42 ln -s ${buildslist_yarn}/node_modules . 48 ln -s ${buildslist_yarn}/node_modules .
43 cp -a ${buildslist_bower}/bower_components ./libs 49 cp -a ${buildslist_bower}/bower_components ./libs
50 PATH=${buildslist_yarn}/node_modules/.bin:$PATH
44 chmod -R u+w libs 51 chmod -R u+w libs
45 ''; 52 '';
46 propagatedBuildInputs = with pythonPackages; [ 53 propagatedBuildInputs = with pythonPackages; [
47 (klein.overridePythonAttrs(old: { checkPhase = ""; })) 54 (klein.overridePythonAttrs(old: { checkPhase = ""; }))
48 buildbot-pkg 55 buildbot-pkg
49 ]; 56 ];
50 nativeBuildInputs = [ yarn nodejs ]; 57 nativeBuildInputs = [ fakeYarn nodejs ];
51 buildInputs = [ buildslist_yarn buildslist_bower ]; 58 buildInputs = [ buildslist_yarn buildslist_bower ];
52 59
53 doCheck = false; 60 doCheck = false;
diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix b/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix
index 7ab3c63..2ade970 100644
--- a/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix
+++ b/pkgs/python-packages/buildbot/plugins/buildslist/yarn-packages.nix
@@ -3,6 +3,60 @@
3 packages = [ 3 packages = [
4 4
5 { 5 {
6 name = "_types_babel_types___babel_types_7.0.7.tgz";
7 path = fetchurl {
8 name = "_types_babel_types___babel_types_7.0.7.tgz";
9 url = "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.7.tgz";
10 sha1 = "667eb1640e8039436028055737d2b9986ee336e3";
11 };
12 }
13
14 {
15 name = "_types_babylon___babylon_6.16.5.tgz";
16 path = fetchurl {
17 name = "_types_babylon___babylon_6.16.5.tgz";
18 url = "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.5.tgz";
19 sha1 = "1c5641db69eb8cdf378edd25b4be7754beeb48b4";
20 };
21 }
22
23 {
24 name = "_types_color_name___color_name_1.1.1.tgz";
25 path = fetchurl {
26 name = "_types_color_name___color_name_1.1.1.tgz";
27 url = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz";
28 sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0";
29 };
30 }
31
32 {
33 name = "Base64___Base64_0.2.1.tgz";
34 path = fetchurl {
35 name = "Base64___Base64_0.2.1.tgz";
36 url = "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz";
37 sha1 = "ba3a4230708e186705065e66babdd4c35cf60028";
38 };
39 }
40
41 {
42 name = "JSONStream___JSONStream_0.6.4.tgz";
43 path = fetchurl {
44 name = "JSONStream___JSONStream_0.6.4.tgz";
45 url = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.6.4.tgz";
46 sha1 = "4b2c8063f8f512787b2375f7ee9db69208fa2dcb";
47 };
48 }
49
50 {
51 name = "JSONStream___JSONStream_0.7.4.tgz";
52 path = fetchurl {
53 name = "JSONStream___JSONStream_0.7.4.tgz";
54 url = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.7.4.tgz";
55 sha1 = "734290e41511eea7c2cfe151fbf9a563a97b9786";
56 };
57 }
58
59 {
6 name = "abbrev___abbrev_1.1.1.tgz"; 60 name = "abbrev___abbrev_1.1.1.tgz";
7 path = fetchurl { 61 path = fetchurl {
8 name = "abbrev___abbrev_1.1.1.tgz"; 62 name = "abbrev___abbrev_1.1.1.tgz";
@@ -30,6 +84,51 @@
30 } 84 }
31 85
32 { 86 {
87 name = "acorn_globals___acorn_globals_3.1.0.tgz";
88 path = fetchurl {
89 name = "acorn_globals___acorn_globals_3.1.0.tgz";
90 url = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz";
91 sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
92 };
93 }
94
95 {
96 name = "acorn___acorn_2.7.0.tgz";
97 path = fetchurl {
98 name = "acorn___acorn_2.7.0.tgz";
99 url = "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz";
100 sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
101 };
102 }
103
104 {
105 name = "acorn___acorn_3.3.0.tgz";
106 path = fetchurl {
107 name = "acorn___acorn_3.3.0.tgz";
108 url = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
109 sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
110 };
111 }
112
113 {
114 name = "acorn___acorn_4.0.13.tgz";
115 path = fetchurl {
116 name = "acorn___acorn_4.0.13.tgz";
117 url = "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz";
118 sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
119 };
120 }
121
122 {
123 name = "acorn___acorn_2.6.4.tgz";
124 path = fetchurl {
125 name = "acorn___acorn_2.6.4.tgz";
126 url = "https://registry.yarnpkg.com/acorn/-/acorn-2.6.4.tgz";
127 sha1 = "eb1f45b4a43fa31d03701a5ec46f3b52673e90ee";
128 };
129 }
130
131 {
33 name = "after___after_0.8.2.tgz"; 132 name = "after___after_0.8.2.tgz";
34 path = fetchurl { 133 path = fetchurl {
35 name = "after___after_0.8.2.tgz"; 134 name = "after___after_0.8.2.tgz";
@@ -39,11 +138,29 @@
39 } 138 }
40 139
41 { 140 {
42 name = "ajv___ajv_6.10.0.tgz"; 141 name = "ajv___ajv_6.12.0.tgz";
43 path = fetchurl { 142 path = fetchurl {
44 name = "ajv___ajv_6.10.0.tgz"; 143 name = "ajv___ajv_6.12.0.tgz";
45 url = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz"; 144 url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz";
46 sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1"; 145 sha1 = "06d60b96d87b8454a5adaba86e7854da629db4b7";
146 };
147 }
148
149 {
150 name = "align_text___align_text_0.1.4.tgz";
151 path = fetchurl {
152 name = "align_text___align_text_0.1.4.tgz";
153 url = "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz";
154 sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
155 };
156 }
157
158 {
159 name = "alter___alter_0.2.0.tgz";
160 path = fetchurl {
161 name = "alter___alter_0.2.0.tgz";
162 url = "https://registry.yarnpkg.com/alter/-/alter-0.2.0.tgz";
163 sha1 = "c7588808617572034aae62480af26b1d4d1cb3cd";
47 }; 164 };
48 } 165 }
49 166
@@ -75,6 +192,15 @@
75 } 192 }
76 193
77 { 194 {
195 name = "ansi_regex___ansi_regex_1.1.1.tgz";
196 path = fetchurl {
197 name = "ansi_regex___ansi_regex_1.1.1.tgz";
198 url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-1.1.1.tgz";
199 sha1 = "41c847194646375e6a1a5d10c3ca054ef9fc980d";
200 };
201 }
202
203 {
78 name = "ansi_regex___ansi_regex_2.1.1.tgz"; 204 name = "ansi_regex___ansi_regex_2.1.1.tgz";
79 path = fetchurl { 205 path = fetchurl {
80 name = "ansi_regex___ansi_regex_2.1.1.tgz"; 206 name = "ansi_regex___ansi_regex_2.1.1.tgz";
@@ -111,6 +237,24 @@
111 } 237 }
112 238
113 { 239 {
240 name = "ansi_styles___ansi_styles_4.2.1.tgz";
241 path = fetchurl {
242 name = "ansi_styles___ansi_styles_4.2.1.tgz";
243 url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz";
244 sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359";
245 };
246 }
247
248 {
249 name = "ansi_styles___ansi_styles_1.0.0.tgz";
250 path = fetchurl {
251 name = "ansi_styles___ansi_styles_1.0.0.tgz";
252 url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz";
253 sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
254 };
255 }
256
257 {
114 name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; 258 name = "ansi_wrap___ansi_wrap_0.1.0.tgz";
115 path = fetchurl { 259 path = fetchurl {
116 name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; 260 name = "ansi_wrap___ansi_wrap_0.1.0.tgz";
@@ -120,6 +264,15 @@
120 } 264 }
121 265
122 { 266 {
267 name = "ansicolors___ansicolors_0.2.1.tgz";
268 path = fetchurl {
269 name = "ansicolors___ansicolors_0.2.1.tgz";
270 url = "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz";
271 sha1 = "be089599097b74a5c9c4a84a0cdbcdb62bd87aef";
272 };
273 }
274
275 {
123 name = "anymatch___anymatch_1.3.2.tgz"; 276 name = "anymatch___anymatch_1.3.2.tgz";
124 path = fetchurl { 277 path = fetchurl {
125 name = "anymatch___anymatch_1.3.2.tgz"; 278 name = "anymatch___anymatch_1.3.2.tgz";
@@ -147,6 +300,15 @@
147 } 300 }
148 301
149 { 302 {
303 name = "archy___archy_0.0.2.tgz";
304 path = fetchurl {
305 name = "archy___archy_0.0.2.tgz";
306 url = "https://registry.yarnpkg.com/archy/-/archy-0.0.2.tgz";
307 sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
308 };
309 }
310
311 {
150 name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; 312 name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
151 path = fetchurl { 313 path = fetchurl {
152 name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; 314 name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
@@ -165,6 +327,15 @@
165 } 327 }
166 328
167 { 329 {
330 name = "argparse___argparse_0.1.16.tgz";
331 path = fetchurl {
332 name = "argparse___argparse_0.1.16.tgz";
333 url = "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz";
334 sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
335 };
336 }
337
338 {
168 name = "arr_diff___arr_diff_2.0.0.tgz"; 339 name = "arr_diff___arr_diff_2.0.0.tgz";
169 path = fetchurl { 340 path = fetchurl {
170 name = "arr_diff___arr_diff_2.0.0.tgz"; 341 name = "arr_diff___arr_diff_2.0.0.tgz";
@@ -219,6 +390,15 @@
219 } 390 }
220 391
221 { 392 {
393 name = "array_filter___array_filter_0.0.1.tgz";
394 path = fetchurl {
395 name = "array_filter___array_filter_0.0.1.tgz";
396 url = "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz";
397 sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
398 };
399 }
400
401 {
222 name = "array_find_index___array_find_index_1.0.2.tgz"; 402 name = "array_find_index___array_find_index_1.0.2.tgz";
223 path = fetchurl { 403 path = fetchurl {
224 name = "array_find_index___array_find_index_1.0.2.tgz"; 404 name = "array_find_index___array_find_index_1.0.2.tgz";
@@ -228,6 +408,24 @@
228 } 408 }
229 409
230 { 410 {
411 name = "array_map___array_map_0.0.0.tgz";
412 path = fetchurl {
413 name = "array_map___array_map_0.0.0.tgz";
414 url = "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz";
415 sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
416 };
417 }
418
419 {
420 name = "array_reduce___array_reduce_0.0.0.tgz";
421 path = fetchurl {
422 name = "array_reduce___array_reduce_0.0.0.tgz";
423 url = "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz";
424 sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
425 };
426 }
427
428 {
231 name = "array_slice___array_slice_0.2.3.tgz"; 429 name = "array_slice___array_slice_0.2.3.tgz";
232 path = fetchurl { 430 path = fetchurl {
233 name = "array_slice___array_slice_0.2.3.tgz"; 431 name = "array_slice___array_slice_0.2.3.tgz";
@@ -282,6 +480,24 @@
282 } 480 }
283 481
284 { 482 {
483 name = "asap___asap_2.0.6.tgz";
484 path = fetchurl {
485 name = "asap___asap_2.0.6.tgz";
486 url = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
487 sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
488 };
489 }
490
491 {
492 name = "asn1___asn1_0.1.11.tgz";
493 path = fetchurl {
494 name = "asn1___asn1_0.1.11.tgz";
495 url = "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz";
496 sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
497 };
498 }
499
500 {
285 name = "asn1___asn1_0.2.4.tgz"; 501 name = "asn1___asn1_0.2.4.tgz";
286 path = fetchurl { 502 path = fetchurl {
287 name = "asn1___asn1_0.2.4.tgz"; 503 name = "asn1___asn1_0.2.4.tgz";
@@ -300,6 +516,24 @@
300 } 516 }
301 517
302 { 518 {
519 name = "assert_plus___assert_plus_0.1.5.tgz";
520 path = fetchurl {
521 name = "assert_plus___assert_plus_0.1.5.tgz";
522 url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz";
523 sha1 = "ee74009413002d84cec7219c6ac811812e723160";
524 };
525 }
526
527 {
528 name = "assert___assert_1.1.2.tgz";
529 path = fetchurl {
530 name = "assert___assert_1.1.2.tgz";
531 url = "https://registry.yarnpkg.com/assert/-/assert-1.1.2.tgz";
532 sha1 = "adaa04c46bb58c6dd1f294da3eb26e6228eb6e44";
533 };
534 }
535
536 {
303 name = "assign_symbols___assign_symbols_1.0.0.tgz"; 537 name = "assign_symbols___assign_symbols_1.0.0.tgz";
304 path = fetchurl { 538 path = fetchurl {
305 name = "assign_symbols___assign_symbols_1.0.0.tgz"; 539 name = "assign_symbols___assign_symbols_1.0.0.tgz";
@@ -309,11 +543,20 @@
309 } 543 }
310 544
311 { 545 {
312 name = "async_each___async_each_1.0.1.tgz"; 546 name = "astw___astw_2.2.0.tgz";
547 path = fetchurl {
548 name = "astw___astw_2.2.0.tgz";
549 url = "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz";
550 sha1 = "7bd41784d32493987aeb239b6b4e1c57a873b917";
551 };
552 }
553
554 {
555 name = "async_each___async_each_1.0.3.tgz";
313 path = fetchurl { 556 path = fetchurl {
314 name = "async_each___async_each_1.0.1.tgz"; 557 name = "async_each___async_each_1.0.3.tgz";
315 url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz"; 558 url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
316 sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d"; 559 sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
317 }; 560 };
318 } 561 }
319 562
@@ -336,11 +579,29 @@
336 } 579 }
337 580
338 { 581 {
339 name = "async___async_2.6.2.tgz"; 582 name = "async___async_0.2.10.tgz";
583 path = fetchurl {
584 name = "async___async_0.2.10.tgz";
585 url = "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz";
586 sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
587 };
588 }
589
590 {
591 name = "async___async_0.8.0.tgz";
340 path = fetchurl { 592 path = fetchurl {
341 name = "async___async_2.6.2.tgz"; 593 name = "async___async_0.8.0.tgz";
342 url = "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz"; 594 url = "https://registry.yarnpkg.com/async/-/async-0.8.0.tgz";
343 sha1 = "18330ea7e6e313887f5d2f2a904bac6fe4dd5381"; 595 sha1 = "ee65ec77298c2ff1456bc4418a052d0f06435112";
596 };
597 }
598
599 {
600 name = "async___async_0.9.2.tgz";
601 path = fetchurl {
602 name = "async___async_0.9.2.tgz";
603 url = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
604 sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
344 }; 605 };
345 } 606 }
346 607
@@ -363,6 +624,15 @@
363 } 624 }
364 625
365 { 626 {
627 name = "aws_sign2___aws_sign2_0.5.0.tgz";
628 path = fetchurl {
629 name = "aws_sign2___aws_sign2_0.5.0.tgz";
630 url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz";
631 sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
632 };
633 }
634
635 {
366 name = "aws_sign2___aws_sign2_0.7.0.tgz"; 636 name = "aws_sign2___aws_sign2_0.7.0.tgz";
367 path = fetchurl { 637 path = fetchurl {
368 name = "aws_sign2___aws_sign2_0.7.0.tgz"; 638 name = "aws_sign2___aws_sign2_0.7.0.tgz";
@@ -372,11 +642,47 @@
372 } 642 }
373 643
374 { 644 {
375 name = "aws4___aws4_1.8.0.tgz"; 645 name = "aws_sign___aws_sign_0.3.0.tgz";
646 path = fetchurl {
647 name = "aws_sign___aws_sign_0.3.0.tgz";
648 url = "https://registry.yarnpkg.com/aws-sign/-/aws-sign-0.3.0.tgz";
649 sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
650 };
651 }
652
653 {
654 name = "aws4___aws4_1.9.1.tgz";
376 path = fetchurl { 655 path = fetchurl {
377 name = "aws4___aws4_1.8.0.tgz"; 656 name = "aws4___aws4_1.9.1.tgz";
378 url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; 657 url = "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz";
379 sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; 658 sha1 = "7e33d8f7d449b3f673cd72deb9abdc552dbe528e";
659 };
660 }
661
662 {
663 name = "babel_runtime___babel_runtime_6.26.0.tgz";
664 path = fetchurl {
665 name = "babel_runtime___babel_runtime_6.26.0.tgz";
666 url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
667 sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
668 };
669 }
670
671 {
672 name = "babel_types___babel_types_6.26.0.tgz";
673 path = fetchurl {
674 name = "babel_types___babel_types_6.26.0.tgz";
675 url = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz";
676 sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
677 };
678 }
679
680 {
681 name = "babylon___babylon_6.18.0.tgz";
682 path = fetchurl {
683 name = "babylon___babylon_6.18.0.tgz";
684 url = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
685 sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
380 }; 686 };
381 } 687 }
382 688
@@ -408,6 +714,15 @@
408 } 714 }
409 715
410 { 716 {
717 name = "base64_js___base64_js_0.0.8.tgz";
718 path = fetchurl {
719 name = "base64_js___base64_js_0.0.8.tgz";
720 url = "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz";
721 sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
722 };
723 }
724
725 {
411 name = "base64id___base64id_1.0.0.tgz"; 726 name = "base64id___base64id_1.0.0.tgz";
412 path = fetchurl { 727 path = fetchurl {
413 name = "base64id___base64id_1.0.0.tgz"; 728 name = "base64id___base64id_1.0.0.tgz";
@@ -462,11 +777,47 @@
462 } 777 }
463 778
464 { 779 {
465 name = "binary_extensions___binary_extensions_1.13.0.tgz"; 780 name = "binary_extensions___binary_extensions_1.13.1.tgz";
781 path = fetchurl {
782 name = "binary_extensions___binary_extensions_1.13.1.tgz";
783 url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
784 sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
785 };
786 }
787
788 {
789 name = "binary___binary_0.3.0.tgz";
790 path = fetchurl {
791 name = "binary___binary_0.3.0.tgz";
792 url = "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz";
793 sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
794 };
795 }
796
797 {
798 name = "binaryextensions___binaryextensions_1.0.1.tgz";
799 path = fetchurl {
800 name = "binaryextensions___binaryextensions_1.0.1.tgz";
801 url = "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz";
802 sha1 = "1e637488b35b58bda5f4774bf96a5212a8c90755";
803 };
804 }
805
806 {
807 name = "bindings___bindings_1.5.0.tgz";
466 path = fetchurl { 808 path = fetchurl {
467 name = "binary_extensions___binary_extensions_1.13.0.tgz"; 809 name = "bindings___bindings_1.5.0.tgz";
468 url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz"; 810 url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
469 sha1 = "9523e001306a32444b907423f1de2164222f6ab1"; 811 sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
812 };
813 }
814
815 {
816 name = "bl___bl_0.9.5.tgz";
817 path = fetchurl {
818 name = "bl___bl_0.9.5.tgz";
819 url = "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz";
820 sha1 = "c06b797af085ea00bc527afc8efcf11de2232054";
470 }; 821 };
471 } 822 }
472 823
@@ -498,11 +849,11 @@
498 } 849 }
499 850
500 { 851 {
501 name = "body_parser___body_parser_1.18.3.tgz"; 852 name = "body_parser___body_parser_1.19.0.tgz";
502 path = fetchurl { 853 path = fetchurl {
503 name = "body_parser___body_parser_1.18.3.tgz"; 854 name = "body_parser___body_parser_1.19.0.tgz";
504 url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz"; 855 url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
505 sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4"; 856 sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
506 }; 857 };
507 } 858 }
508 859
@@ -516,6 +867,69 @@
516 } 867 }
517 868
518 { 869 {
870 name = "boom___boom_0.4.2.tgz";
871 path = fetchurl {
872 name = "boom___boom_0.4.2.tgz";
873 url = "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz";
874 sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
875 };
876 }
877
878 {
879 name = "bower_config___bower_config_0.5.3.tgz";
880 path = fetchurl {
881 name = "bower_config___bower_config_0.5.3.tgz";
882 url = "https://registry.yarnpkg.com/bower-config/-/bower-config-0.5.3.tgz";
883 sha1 = "98fc5b41a87870ef9cbb9297635cf81f5505fdb1";
884 };
885 }
886
887 {
888 name = "bower_endpoint_parser___bower_endpoint_parser_0.2.2.tgz";
889 path = fetchurl {
890 name = "bower_endpoint_parser___bower_endpoint_parser_0.2.2.tgz";
891 url = "https://registry.yarnpkg.com/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz";
892 sha1 = "00b565adbfab6f2d35addde977e97962acbcb3f6";
893 };
894 }
895
896 {
897 name = "bower_json___bower_json_0.4.0.tgz";
898 path = fetchurl {
899 name = "bower_json___bower_json_0.4.0.tgz";
900 url = "https://registry.yarnpkg.com/bower-json/-/bower-json-0.4.0.tgz";
901 sha1 = "a99c3ccf416ef0590ed0ded252c760f1c6d93766";
902 };
903 }
904
905 {
906 name = "bower_logger___bower_logger_0.2.2.tgz";
907 path = fetchurl {
908 name = "bower_logger___bower_logger_0.2.2.tgz";
909 url = "https://registry.yarnpkg.com/bower-logger/-/bower-logger-0.2.2.tgz";
910 sha1 = "39be07e979b2fc8e03a94634205ed9422373d381";
911 };
912 }
913
914 {
915 name = "bower_registry_client___bower_registry_client_0.2.4.tgz";
916 path = fetchurl {
917 name = "bower_registry_client___bower_registry_client_0.2.4.tgz";
918 url = "https://registry.yarnpkg.com/bower-registry-client/-/bower-registry-client-0.2.4.tgz";
919 sha1 = "269fc7e898b627fb939d1144a593254d7fbbeebc";
920 };
921 }
922
923 {
924 name = "bower___bower_1.3.8.tgz";
925 path = fetchurl {
926 name = "bower___bower_1.3.8.tgz";
927 url = "https://registry.yarnpkg.com/bower/-/bower-1.3.8.tgz";
928 sha1 = "afa3338a8a88a6e084c38112ea4a15998cbee3e6";
929 };
930 }
931
932 {
519 name = "brace_expansion___brace_expansion_1.1.11.tgz"; 933 name = "brace_expansion___brace_expansion_1.1.11.tgz";
520 path = fetchurl { 934 path = fetchurl {
521 name = "brace_expansion___brace_expansion_1.1.11.tgz"; 935 name = "brace_expansion___brace_expansion_1.1.11.tgz";
@@ -552,6 +966,51 @@
552 } 966 }
553 967
554 { 968 {
969 name = "browser_pack___browser_pack_2.0.1.tgz";
970 path = fetchurl {
971 name = "browser_pack___browser_pack_2.0.1.tgz";
972 url = "https://registry.yarnpkg.com/browser-pack/-/browser-pack-2.0.1.tgz";
973 sha1 = "5d1c527f56c582677411c4db2a128648ff6bf150";
974 };
975 }
976
977 {
978 name = "browser_resolve___browser_resolve_1.2.4.tgz";
979 path = fetchurl {
980 name = "browser_resolve___browser_resolve_1.2.4.tgz";
981 url = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.2.4.tgz";
982 sha1 = "59ae7820a82955ecd32f5fb7c468ac21c4723806";
983 };
984 }
985
986 {
987 name = "browserify_shim___browserify_shim_2.0.10.tgz";
988 path = fetchurl {
989 name = "browserify_shim___browserify_shim_2.0.10.tgz";
990 url = "https://registry.yarnpkg.com/browserify-shim/-/browserify-shim-2.0.10.tgz";
991 sha1 = "74a0ed5b9b784a5a287906513a896d31f54a84b8";
992 };
993 }
994
995 {
996 name = "browserify_zlib___browserify_zlib_0.1.4.tgz";
997 path = fetchurl {
998 name = "browserify_zlib___browserify_zlib_0.1.4.tgz";
999 url = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
1000 sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
1001 };
1002 }
1003
1004 {
1005 name = "browserify___browserify_3.46.1.tgz";
1006 path = fetchurl {
1007 name = "browserify___browserify_3.46.1.tgz";
1008 url = "https://registry.yarnpkg.com/browserify/-/browserify-3.46.1.tgz";
1009 sha1 = "2c2e4a7f2f408178e78c223b5b57b37c2185ad8e";
1010 };
1011 }
1012
1013 {
555 name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; 1014 name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
556 path = fetchurl { 1015 path = fetchurl {
557 name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz"; 1016 name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
@@ -579,6 +1038,42 @@
579 } 1038 }
580 1039
581 { 1040 {
1041 name = "buffer___buffer_2.1.13.tgz";
1042 path = fetchurl {
1043 name = "buffer___buffer_2.1.13.tgz";
1044 url = "https://registry.yarnpkg.com/buffer/-/buffer-2.1.13.tgz";
1045 sha1 = "c88838ebf79f30b8b4a707788470bea8a62c2355";
1046 };
1047 }
1048
1049 {
1050 name = "buffers___buffers_0.1.1.tgz";
1051 path = fetchurl {
1052 name = "buffers___buffers_0.1.1.tgz";
1053 url = "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz";
1054 sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
1055 };
1056 }
1057
1058 {
1059 name = "bufferstreams___bufferstreams_0.0.2.tgz";
1060 path = fetchurl {
1061 name = "bufferstreams___bufferstreams_0.0.2.tgz";
1062 url = "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-0.0.2.tgz";
1063 sha1 = "7ce8dff968bbac00b9e90158a2c41456f740abdd";
1064 };
1065 }
1066
1067 {
1068 name = "builtins___builtins_0.0.7.tgz";
1069 path = fetchurl {
1070 name = "builtins___builtins_0.0.7.tgz";
1071 url = "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz";
1072 sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
1073 };
1074 }
1075
1076 {
582 name = "bytes___bytes_2.2.0.tgz"; 1077 name = "bytes___bytes_2.2.0.tgz";
583 path = fetchurl { 1078 path = fetchurl {
584 name = "bytes___bytes_2.2.0.tgz"; 1079 name = "bytes___bytes_2.2.0.tgz";
@@ -597,11 +1092,11 @@
597 } 1092 }
598 1093
599 { 1094 {
600 name = "bytes___bytes_3.0.0.tgz"; 1095 name = "bytes___bytes_3.1.0.tgz";
601 path = fetchurl { 1096 path = fetchurl {
602 name = "bytes___bytes_3.0.0.tgz"; 1097 name = "bytes___bytes_3.1.0.tgz";
603 url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; 1098 url = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
604 sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; 1099 sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
605 }; 1100 };
606 } 1101 }
607 1102
@@ -633,6 +1128,15 @@
633 } 1128 }
634 1129
635 { 1130 {
1131 name = "camelcase___camelcase_1.2.1.tgz";
1132 path = fetchurl {
1133 name = "camelcase___camelcase_1.2.1.tgz";
1134 url = "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz";
1135 sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
1136 };
1137 }
1138
1139 {
636 name = "camelcase___camelcase_2.1.1.tgz"; 1140 name = "camelcase___camelcase_2.1.1.tgz";
637 path = fetchurl { 1141 path = fetchurl {
638 name = "camelcase___camelcase_2.1.1.tgz"; 1142 name = "camelcase___camelcase_2.1.1.tgz";
@@ -651,6 +1155,15 @@
651 } 1155 }
652 1156
653 { 1157 {
1158 name = "cardinal___cardinal_0.4.4.tgz";
1159 path = fetchurl {
1160 name = "cardinal___cardinal_0.4.4.tgz";
1161 url = "https://registry.yarnpkg.com/cardinal/-/cardinal-0.4.4.tgz";
1162 sha1 = "ca5bb68a5b511b90fe93b9acea49bdee5c32bfe2";
1163 };
1164 }
1165
1166 {
654 name = "caseless___caseless_0.12.0.tgz"; 1167 name = "caseless___caseless_0.12.0.tgz";
655 path = fetchurl { 1168 path = fetchurl {
656 name = "caseless___caseless_0.12.0.tgz"; 1169 name = "caseless___caseless_0.12.0.tgz";
@@ -660,6 +1173,42 @@
660 } 1173 }
661 1174
662 { 1175 {
1176 name = "caseless___caseless_0.8.0.tgz";
1177 path = fetchurl {
1178 name = "caseless___caseless_0.8.0.tgz";
1179 url = "https://registry.yarnpkg.com/caseless/-/caseless-0.8.0.tgz";
1180 sha1 = "5bca2881d41437f54b2407ebe34888c7b9ad4f7d";
1181 };
1182 }
1183
1184 {
1185 name = "center_align___center_align_0.1.3.tgz";
1186 path = fetchurl {
1187 name = "center_align___center_align_0.1.3.tgz";
1188 url = "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz";
1189 sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
1190 };
1191 }
1192
1193 {
1194 name = "chainsaw___chainsaw_0.1.0.tgz";
1195 path = fetchurl {
1196 name = "chainsaw___chainsaw_0.1.0.tgz";
1197 url = "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz";
1198 sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
1199 };
1200 }
1201
1202 {
1203 name = "chalk___chalk_3.0.0.tgz";
1204 path = fetchurl {
1205 name = "chalk___chalk_3.0.0.tgz";
1206 url = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
1207 sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
1208 };
1209 }
1210
1211 {
663 name = "chalk___chalk_0.5.1.tgz"; 1212 name = "chalk___chalk_0.5.1.tgz";
664 path = fetchurl { 1213 path = fetchurl {
665 name = "chalk___chalk_0.5.1.tgz"; 1214 name = "chalk___chalk_0.5.1.tgz";
@@ -678,6 +1227,33 @@
678 } 1227 }
679 1228
680 { 1229 {
1230 name = "chalk___chalk_0.4.0.tgz";
1231 path = fetchurl {
1232 name = "chalk___chalk_0.4.0.tgz";
1233 url = "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz";
1234 sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
1235 };
1236 }
1237
1238 {
1239 name = "character_parser___character_parser_2.2.0.tgz";
1240 path = fetchurl {
1241 name = "character_parser___character_parser_2.2.0.tgz";
1242 url = "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz";
1243 sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0";
1244 };
1245 }
1246
1247 {
1248 name = "chmodr___chmodr_0.1.2.tgz";
1249 path = fetchurl {
1250 name = "chmodr___chmodr_0.1.2.tgz";
1251 url = "https://registry.yarnpkg.com/chmodr/-/chmodr-0.1.2.tgz";
1252 sha1 = "0dd8041c915087575bec383b47827bb7576a4fd6";
1253 };
1254 }
1255
1256 {
681 name = "chokidar___chokidar_1.7.0.tgz"; 1257 name = "chokidar___chokidar_1.7.0.tgz";
682 path = fetchurl { 1258 path = fetchurl {
683 name = "chokidar___chokidar_1.7.0.tgz"; 1259 name = "chokidar___chokidar_1.7.0.tgz";
@@ -687,11 +1263,11 @@
687 } 1263 }
688 1264
689 { 1265 {
690 name = "chownr___chownr_1.1.1.tgz"; 1266 name = "chownr___chownr_1.1.4.tgz";
691 path = fetchurl { 1267 path = fetchurl {
692 name = "chownr___chownr_1.1.1.tgz"; 1268 name = "chownr___chownr_1.1.4.tgz";
693 url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz"; 1269 url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz";
694 sha1 = "54726b8b8fff4df053c42187e801fb4412df1494"; 1270 sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b";
695 }; 1271 };
696 } 1272 }
697 1273
@@ -705,6 +1281,51 @@
705 } 1281 }
706 1282
707 { 1283 {
1284 name = "clean_css___clean_css_2.2.23.tgz";
1285 path = fetchurl {
1286 name = "clean_css___clean_css_2.2.23.tgz";
1287 url = "https://registry.yarnpkg.com/clean-css/-/clean-css-2.2.23.tgz";
1288 sha1 = "0590b5478b516c4903edc2d89bd3fdbdd286328c";
1289 };
1290 }
1291
1292 {
1293 name = "clean_css___clean_css_4.2.3.tgz";
1294 path = fetchurl {
1295 name = "clean_css___clean_css_4.2.3.tgz";
1296 url = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz";
1297 sha1 = "507b5de7d97b48ee53d84adb0160ff6216380f78";
1298 };
1299 }
1300
1301 {
1302 name = "cli_color___cli_color_0.2.3.tgz";
1303 path = fetchurl {
1304 name = "cli_color___cli_color_0.2.3.tgz";
1305 url = "https://registry.yarnpkg.com/cli-color/-/cli-color-0.2.3.tgz";
1306 sha1 = "0a25ceae5a6a1602be7f77d28563c36700274e88";
1307 };
1308 }
1309
1310 {
1311 name = "cli_color___cli_color_0.3.3.tgz";
1312 path = fetchurl {
1313 name = "cli_color___cli_color_0.3.3.tgz";
1314 url = "https://registry.yarnpkg.com/cli-color/-/cli-color-0.3.3.tgz";
1315 sha1 = "12d5bdd158ff8a0b0db401198913c03df069f6f5";
1316 };
1317 }
1318
1319 {
1320 name = "cliui___cliui_2.1.0.tgz";
1321 path = fetchurl {
1322 name = "cliui___cliui_2.1.0.tgz";
1323 url = "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz";
1324 sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
1325 };
1326 }
1327
1328 {
708 name = "cliui___cliui_3.2.0.tgz"; 1329 name = "cliui___cliui_3.2.0.tgz";
709 path = fetchurl { 1330 path = fetchurl {
710 name = "cliui___cliui_3.2.0.tgz"; 1331 name = "cliui___cliui_3.2.0.tgz";
@@ -714,6 +1335,15 @@
714 } 1335 }
715 1336
716 { 1337 {
1338 name = "clone_buffer___clone_buffer_1.0.0.tgz";
1339 path = fetchurl {
1340 name = "clone_buffer___clone_buffer_1.0.0.tgz";
1341 url = "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz";
1342 sha1 = "e3e25b207ac4e701af721e2cb5a16792cac3dc58";
1343 };
1344 }
1345
1346 {
717 name = "clone_stats___clone_stats_0.0.1.tgz"; 1347 name = "clone_stats___clone_stats_0.0.1.tgz";
718 path = fetchurl { 1348 path = fetchurl {
719 name = "clone_stats___clone_stats_0.0.1.tgz"; 1349 name = "clone_stats___clone_stats_0.0.1.tgz";
@@ -723,6 +1353,15 @@
723 } 1353 }
724 1354
725 { 1355 {
1356 name = "clone_stats___clone_stats_1.0.0.tgz";
1357 path = fetchurl {
1358 name = "clone_stats___clone_stats_1.0.0.tgz";
1359 url = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz";
1360 sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
1361 };
1362 }
1363
1364 {
726 name = "clone___clone_0.2.0.tgz"; 1365 name = "clone___clone_0.2.0.tgz";
727 path = fetchurl { 1366 path = fetchurl {
728 name = "clone___clone_0.2.0.tgz"; 1367 name = "clone___clone_0.2.0.tgz";
@@ -741,6 +1380,24 @@
741 } 1380 }
742 1381
743 { 1382 {
1383 name = "clone___clone_2.1.2.tgz";
1384 path = fetchurl {
1385 name = "clone___clone_2.1.2.tgz";
1386 url = "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz";
1387 sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
1388 };
1389 }
1390
1391 {
1392 name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
1393 path = fetchurl {
1394 name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
1395 url = "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz";
1396 sha1 = "120a00cb053bfb63a222e709f9683ea2e11d8cec";
1397 };
1398 }
1399
1400 {
744 name = "code_point_at___code_point_at_1.1.0.tgz"; 1401 name = "code_point_at___code_point_at_1.1.0.tgz";
745 path = fetchurl { 1402 path = fetchurl {
746 name = "code_point_at___code_point_at_1.1.0.tgz"; 1403 name = "code_point_at___code_point_at_1.1.0.tgz";
@@ -768,6 +1425,15 @@
768 } 1425 }
769 1426
770 { 1427 {
1428 name = "coffeescript___coffeescript_1.12.7.tgz";
1429 path = fetchurl {
1430 name = "coffeescript___coffeescript_1.12.7.tgz";
1431 url = "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz";
1432 sha1 = "e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27";
1433 };
1434 }
1435
1436 {
771 name = "collection_visit___collection_visit_1.0.0.tgz"; 1437 name = "collection_visit___collection_visit_1.0.0.tgz";
772 path = fetchurl { 1438 path = fetchurl {
773 name = "collection_visit___collection_visit_1.0.0.tgz"; 1439 name = "collection_visit___collection_visit_1.0.0.tgz";
@@ -777,6 +1443,24 @@
777 } 1443 }
778 1444
779 { 1445 {
1446 name = "color_convert___color_convert_2.0.1.tgz";
1447 path = fetchurl {
1448 name = "color_convert___color_convert_2.0.1.tgz";
1449 url = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
1450 sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
1451 };
1452 }
1453
1454 {
1455 name = "color_name___color_name_1.1.4.tgz";
1456 path = fetchurl {
1457 name = "color_name___color_name_1.1.4.tgz";
1458 url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
1459 sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
1460 };
1461 }
1462
1463 {
780 name = "color_support___color_support_1.1.3.tgz"; 1464 name = "color_support___color_support_1.1.3.tgz";
781 path = fetchurl { 1465 path = fetchurl {
782 name = "color_support___color_support_1.1.3.tgz"; 1466 name = "color_support___color_support_1.1.3.tgz";
@@ -786,29 +1470,65 @@
786 } 1470 }
787 1471
788 { 1472 {
789 name = "colors___colors_1.3.3.tgz"; 1473 name = "colors___colors_1.4.0.tgz";
1474 path = fetchurl {
1475 name = "colors___colors_1.4.0.tgz";
1476 url = "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz";
1477 sha1 = "c50491479d4c1bdaed2c9ced32cf7c7dc2360f78";
1478 };
1479 }
1480
1481 {
1482 name = "combine_source_map___combine_source_map_0.3.0.tgz";
1483 path = fetchurl {
1484 name = "combine_source_map___combine_source_map_0.3.0.tgz";
1485 url = "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.3.0.tgz";
1486 sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7";
1487 };
1488 }
1489
1490 {
1491 name = "combined_stream___combined_stream_1.0.8.tgz";
1492 path = fetchurl {
1493 name = "combined_stream___combined_stream_1.0.8.tgz";
1494 url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
1495 sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
1496 };
1497 }
1498
1499 {
1500 name = "combined_stream___combined_stream_0.0.7.tgz";
790 path = fetchurl { 1501 path = fetchurl {
791 name = "colors___colors_1.3.3.tgz"; 1502 name = "combined_stream___combined_stream_0.0.7.tgz";
792 url = "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz"; 1503 url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz";
793 sha1 = "39e005d546afe01e01f9c4ca8fa50f686a01205d"; 1504 sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
794 }; 1505 };
795 } 1506 }
796 1507
797 { 1508 {
798 name = "combined_stream___combined_stream_1.0.7.tgz"; 1509 name = "commander___commander_2.2.0.tgz";
799 path = fetchurl { 1510 path = fetchurl {
800 name = "combined_stream___combined_stream_1.0.7.tgz"; 1511 name = "commander___commander_2.2.0.tgz";
801 url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz"; 1512 url = "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz";
802 sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828"; 1513 sha1 = "175ad4b9317f3ff615f201c1e57224f55a3e91df";
803 }; 1514 };
804 } 1515 }
805 1516
806 { 1517 {
807 name = "commander___commander_2.17.1.tgz"; 1518 name = "commander___commander_2.20.3.tgz";
808 path = fetchurl { 1519 path = fetchurl {
809 name = "commander___commander_2.17.1.tgz"; 1520 name = "commander___commander_2.20.3.tgz";
810 url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; 1521 url = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
811 sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; 1522 sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
1523 };
1524 }
1525
1526 {
1527 name = "commondir___commondir_0.0.1.tgz";
1528 path = fetchurl {
1529 name = "commondir___commondir_0.0.1.tgz";
1530 url = "https://registry.yarnpkg.com/commondir/-/commondir-0.0.1.tgz";
1531 sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2";
812 }; 1532 };
813 } 1533 }
814 1534
@@ -840,6 +1560,15 @@
840 } 1560 }
841 1561
842 { 1562 {
1563 name = "component_emitter___component_emitter_1.3.0.tgz";
1564 path = fetchurl {
1565 name = "component_emitter___component_emitter_1.3.0.tgz";
1566 url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
1567 sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
1568 };
1569 }
1570
1571 {
843 name = "component_inherit___component_inherit_0.0.3.tgz"; 1572 name = "component_inherit___component_inherit_0.0.3.tgz";
844 path = fetchurl { 1573 path = fetchurl {
845 name = "component_inherit___component_inherit_0.0.3.tgz"; 1574 name = "component_inherit___component_inherit_0.0.3.tgz";
@@ -858,11 +1587,56 @@
858 } 1587 }
859 1588
860 { 1589 {
861 name = "connect___connect_3.6.6.tgz"; 1590 name = "concat_stream___concat_stream_1.4.11.tgz";
1591 path = fetchurl {
1592 name = "concat_stream___concat_stream_1.4.11.tgz";
1593 url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.4.11.tgz";
1594 sha1 = "1dc9f666f2621da9c618b1e7f8f3b2ff70b5f76f";
1595 };
1596 }
1597
1598 {
1599 name = "concat_with_sourcemaps___concat_with_sourcemaps_1.1.0.tgz";
862 path = fetchurl { 1600 path = fetchurl {
863 name = "connect___connect_3.6.6.tgz"; 1601 name = "concat_with_sourcemaps___concat_with_sourcemaps_1.1.0.tgz";
864 url = "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz"; 1602 url = "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz";
865 sha1 = "09eff6c55af7236e137135a72574858b6786f524"; 1603 sha1 = "d4ea93f05ae25790951b99e7b3b09e3908a4082e";
1604 };
1605 }
1606
1607 {
1608 name = "configstore___configstore_0.3.2.tgz";
1609 path = fetchurl {
1610 name = "configstore___configstore_0.3.2.tgz";
1611 url = "https://registry.yarnpkg.com/configstore/-/configstore-0.3.2.tgz";
1612 sha1 = "25e4c16c3768abf75c5a65bc61761f495055b459";
1613 };
1614 }
1615
1616 {
1617 name = "configstore___configstore_0.2.3.tgz";
1618 path = fetchurl {
1619 name = "configstore___configstore_0.2.3.tgz";
1620 url = "https://registry.yarnpkg.com/configstore/-/configstore-0.2.3.tgz";
1621 sha1 = "b1bdc4ad823a25423dc15d220fcc1ae1d7efab02";
1622 };
1623 }
1624
1625 {
1626 name = "connect___connect_3.7.0.tgz";
1627 path = fetchurl {
1628 name = "connect___connect_3.7.0.tgz";
1629 url = "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz";
1630 sha1 = "5d49348910caa5e07a01800b030d0c35f20484f8";
1631 };
1632 }
1633
1634 {
1635 name = "console_browserify___console_browserify_1.0.3.tgz";
1636 path = fetchurl {
1637 name = "console_browserify___console_browserify_1.0.3.tgz";
1638 url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.0.3.tgz";
1639 sha1 = "d3898d2c3a93102f364197f8874b4f92b5286a8e";
866 }; 1640 };
867 } 1641 }
868 1642
@@ -876,6 +1650,24 @@
876 } 1650 }
877 1651
878 { 1652 {
1653 name = "constantinople___constantinople_3.1.2.tgz";
1654 path = fetchurl {
1655 name = "constantinople___constantinople_3.1.2.tgz";
1656 url = "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz";
1657 sha1 = "d45ed724f57d3d10500017a7d3a889c1381ae647";
1658 };
1659 }
1660
1661 {
1662 name = "constants_browserify___constants_browserify_0.0.1.tgz";
1663 path = fetchurl {
1664 name = "constants_browserify___constants_browserify_0.0.1.tgz";
1665 url = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz";
1666 sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2";
1667 };
1668 }
1669
1670 {
879 name = "content_type___content_type_1.0.4.tgz"; 1671 name = "content_type___content_type_1.0.4.tgz";
880 path = fetchurl { 1672 path = fetchurl {
881 name = "content_type___content_type_1.0.4.tgz"; 1673 name = "content_type___content_type_1.0.4.tgz";
@@ -885,6 +1677,51 @@
885 } 1677 }
886 1678
887 { 1679 {
1680 name = "convert_source_map___convert_source_map_0.4.1.tgz";
1681 path = fetchurl {
1682 name = "convert_source_map___convert_source_map_0.4.1.tgz";
1683 url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.4.1.tgz";
1684 sha1 = "f919a0099fe31f80fc5a1d0eb303161b394070c7";
1685 };
1686 }
1687
1688 {
1689 name = "convert_source_map___convert_source_map_1.7.0.tgz";
1690 path = fetchurl {
1691 name = "convert_source_map___convert_source_map_1.7.0.tgz";
1692 url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz";
1693 sha1 = "17a2cb882d7f77d3490585e2ce6c524424a3a442";
1694 };
1695 }
1696
1697 {
1698 name = "convert_source_map___convert_source_map_0.3.5.tgz";
1699 path = fetchurl {
1700 name = "convert_source_map___convert_source_map_0.3.5.tgz";
1701 url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz";
1702 sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
1703 };
1704 }
1705
1706 {
1707 name = "convert_source_map___convert_source_map_1.1.3.tgz";
1708 path = fetchurl {
1709 name = "convert_source_map___convert_source_map_1.1.3.tgz";
1710 url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz";
1711 sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
1712 };
1713 }
1714
1715 {
1716 name = "cookie_jar___cookie_jar_0.3.0.tgz";
1717 path = fetchurl {
1718 name = "cookie_jar___cookie_jar_0.3.0.tgz";
1719 url = "https://registry.yarnpkg.com/cookie-jar/-/cookie-jar-0.3.0.tgz";
1720 sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
1721 };
1722 }
1723
1724 {
888 name = "cookie___cookie_0.3.1.tgz"; 1725 name = "cookie___cookie_0.3.1.tgz";
889 path = fetchurl { 1726 path = fetchurl {
890 name = "cookie___cookie_0.3.1.tgz"; 1727 name = "cookie___cookie_0.3.1.tgz";
@@ -903,11 +1740,11 @@
903 } 1740 }
904 1741
905 { 1742 {
906 name = "core_js___core_js_2.6.5.tgz"; 1743 name = "core_js___core_js_2.6.11.tgz";
907 path = fetchurl { 1744 path = fetchurl {
908 name = "core_js___core_js_2.6.5.tgz"; 1745 name = "core_js___core_js_2.6.11.tgz";
909 url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz"; 1746 url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz";
910 sha1 = "44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"; 1747 sha1 = "38831469f9922bded8ee21c9dc46985e0399308c";
911 }; 1748 };
912 } 1749 }
913 1750
@@ -930,6 +1767,33 @@
930 } 1767 }
931 1768
932 { 1769 {
1770 name = "cryptiles___cryptiles_0.2.2.tgz";
1771 path = fetchurl {
1772 name = "cryptiles___cryptiles_0.2.2.tgz";
1773 url = "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz";
1774 sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
1775 };
1776 }
1777
1778 {
1779 name = "crypto_browserify___crypto_browserify_1.0.9.tgz";
1780 path = fetchurl {
1781 name = "crypto_browserify___crypto_browserify_1.0.9.tgz";
1782 url = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz";
1783 sha1 = "cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0";
1784 };
1785 }
1786
1787 {
1788 name = "ctype___ctype_0.5.3.tgz";
1789 path = fetchurl {
1790 name = "ctype___ctype_0.5.3.tgz";
1791 url = "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz";
1792 sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
1793 };
1794 }
1795
1796 {
933 name = "currently_unhandled___currently_unhandled_0.4.1.tgz"; 1797 name = "currently_unhandled___currently_unhandled_0.4.1.tgz";
934 path = fetchurl { 1798 path = fetchurl {
935 name = "currently_unhandled___currently_unhandled_0.4.1.tgz"; 1799 name = "currently_unhandled___currently_unhandled_0.4.1.tgz";
@@ -948,6 +1812,24 @@
948 } 1812 }
949 1813
950 { 1814 {
1815 name = "d___d_1.0.1.tgz";
1816 path = fetchurl {
1817 name = "d___d_1.0.1.tgz";
1818 url = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
1819 sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
1820 };
1821 }
1822
1823 {
1824 name = "d___d_0.1.1.tgz";
1825 path = fetchurl {
1826 name = "d___d_0.1.1.tgz";
1827 url = "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz";
1828 sha1 = "da184c535d18d8ee7ba2aa229b914009fae11309";
1829 };
1830 }
1831
1832 {
951 name = "dashdash___dashdash_1.14.1.tgz"; 1833 name = "dashdash___dashdash_1.14.1.tgz";
952 path = fetchurl { 1834 path = fetchurl {
953 name = "dashdash___dashdash_1.14.1.tgz"; 1835 name = "dashdash___dashdash_1.14.1.tgz";
@@ -975,6 +1857,15 @@
975 } 1857 }
976 1858
977 { 1859 {
1860 name = "deap___deap_1.0.1.tgz";
1861 path = fetchurl {
1862 name = "deap___deap_1.0.1.tgz";
1863 url = "https://registry.yarnpkg.com/deap/-/deap-1.0.1.tgz";
1864 sha1 = "0646e9e1a095ffe8a9e404d68d1f76dcf57e66fb";
1865 };
1866 }
1867
1868 {
978 name = "debug___debug_2.2.0.tgz"; 1869 name = "debug___debug_2.2.0.tgz";
979 path = fetchurl { 1870 path = fetchurl {
980 name = "debug___debug_2.2.0.tgz"; 1871 name = "debug___debug_2.2.0.tgz";
@@ -1029,6 +1920,24 @@
1029 } 1920 }
1030 1921
1031 { 1922 {
1923 name = "decompress_zip___decompress_zip_0.0.8.tgz";
1924 path = fetchurl {
1925 name = "decompress_zip___decompress_zip_0.0.8.tgz";
1926 url = "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.0.8.tgz";
1927 sha1 = "4a265b22c7b209d7b24fa66f2b2dfbced59044f3";
1928 };
1929 }
1930
1931 {
1932 name = "deep_equal___deep_equal_0.1.2.tgz";
1933 path = fetchurl {
1934 name = "deep_equal___deep_equal_0.1.2.tgz";
1935 url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.1.2.tgz";
1936 sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce";
1937 };
1938 }
1939
1940 {
1032 name = "deep_extend___deep_extend_0.6.0.tgz"; 1941 name = "deep_extend___deep_extend_0.6.0.tgz";
1033 path = fetchurl { 1942 path = fetchurl {
1034 name = "deep_extend___deep_extend_0.6.0.tgz"; 1943 name = "deep_extend___deep_extend_0.6.0.tgz";
@@ -1038,6 +1947,15 @@
1038 } 1947 }
1039 1948
1040 { 1949 {
1950 name = "deep_extend___deep_extend_0.2.11.tgz";
1951 path = fetchurl {
1952 name = "deep_extend___deep_extend_0.2.11.tgz";
1953 url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.2.11.tgz";
1954 sha1 = "7a16ba69729132340506170494bc83f7076fe08f";
1955 };
1956 }
1957
1958 {
1041 name = "deep_is___deep_is_0.1.3.tgz"; 1959 name = "deep_is___deep_is_0.1.3.tgz";
1042 path = fetchurl { 1960 path = fetchurl {
1043 name = "deep_is___deep_is_0.1.3.tgz"; 1961 name = "deep_is___deep_is_0.1.3.tgz";
@@ -1083,6 +2001,24 @@
1083 } 2001 }
1084 2002
1085 { 2003 {
2004 name = "defined___defined_0.0.0.tgz";
2005 path = fetchurl {
2006 name = "defined___defined_0.0.0.tgz";
2007 url = "https://registry.yarnpkg.com/defined/-/defined-0.0.0.tgz";
2008 sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
2009 };
2010 }
2011
2012 {
2013 name = "delayed_stream___delayed_stream_0.0.5.tgz";
2014 path = fetchurl {
2015 name = "delayed_stream___delayed_stream_0.0.5.tgz";
2016 url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz";
2017 sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
2018 };
2019 }
2020
2021 {
1086 name = "delayed_stream___delayed_stream_1.0.0.tgz"; 2022 name = "delayed_stream___delayed_stream_1.0.0.tgz";
1087 path = fetchurl { 2023 path = fetchurl {
1088 name = "delayed_stream___delayed_stream_1.0.0.tgz"; 2024 name = "delayed_stream___delayed_stream_1.0.0.tgz";
@@ -1119,6 +2055,33 @@
1119 } 2055 }
1120 2056
1121 { 2057 {
2058 name = "deps_sort___deps_sort_0.1.2.tgz";
2059 path = fetchurl {
2060 name = "deps_sort___deps_sort_0.1.2.tgz";
2061 url = "https://registry.yarnpkg.com/deps-sort/-/deps-sort-0.1.2.tgz";
2062 sha1 = "daa2fb614a17c9637d801e2f55339ae370f3611a";
2063 };
2064 }
2065
2066 {
2067 name = "derequire___derequire_0.8.0.tgz";
2068 path = fetchurl {
2069 name = "derequire___derequire_0.8.0.tgz";
2070 url = "https://registry.yarnpkg.com/derequire/-/derequire-0.8.0.tgz";
2071 sha1 = "c1f7f1da2cede44adede047378f03f444e9c4c0d";
2072 };
2073 }
2074
2075 {
2076 name = "destroy___destroy_1.0.4.tgz";
2077 path = fetchurl {
2078 name = "destroy___destroy_1.0.4.tgz";
2079 url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
2080 sha1 = "978857442c44749e4206613e37946205826abd80";
2081 };
2082 }
2083
2084 {
1122 name = "detect_file___detect_file_1.0.0.tgz"; 2085 name = "detect_file___detect_file_1.0.0.tgz";
1123 path = fetchurl { 2086 path = fetchurl {
1124 name = "detect_file___detect_file_1.0.0.tgz"; 2087 name = "detect_file___detect_file_1.0.0.tgz";
@@ -1137,6 +2100,15 @@
1137 } 2100 }
1138 2101
1139 { 2102 {
2103 name = "detective___detective_3.1.0.tgz";
2104 path = fetchurl {
2105 name = "detective___detective_3.1.0.tgz";
2106 url = "https://registry.yarnpkg.com/detective/-/detective-3.1.0.tgz";
2107 sha1 = "77782444ab752b88ca1be2e9d0a0395f1da25eed";
2108 };
2109 }
2110
2111 {
1140 name = "di___di_0.0.1.tgz"; 2112 name = "di___di_0.0.1.tgz";
1141 path = fetchurl { 2113 path = fetchurl {
1142 name = "di___di_0.0.1.tgz"; 2114 name = "di___di_0.0.1.tgz";
@@ -1146,6 +2118,15 @@
1146 } 2118 }
1147 2119
1148 { 2120 {
2121 name = "doctypes___doctypes_1.1.0.tgz";
2122 path = fetchurl {
2123 name = "doctypes___doctypes_1.1.0.tgz";
2124 url = "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz";
2125 sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9";
2126 };
2127 }
2128
2129 {
1149 name = "dom_serialize___dom_serialize_2.2.1.tgz"; 2130 name = "dom_serialize___dom_serialize_2.2.1.tgz";
1150 path = fetchurl { 2131 path = fetchurl {
1151 name = "dom_serialize___dom_serialize_2.2.1.tgz"; 2132 name = "dom_serialize___dom_serialize_2.2.1.tgz";
@@ -1155,6 +2136,15 @@
1155 } 2136 }
1156 2137
1157 { 2138 {
2139 name = "domain_browser___domain_browser_1.1.7.tgz";
2140 path = fetchurl {
2141 name = "domain_browser___domain_browser_1.1.7.tgz";
2142 url = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz";
2143 sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
2144 };
2145 }
2146
2147 {
1158 name = "duplexer2___duplexer2_0.0.2.tgz"; 2148 name = "duplexer2___duplexer2_0.0.2.tgz";
1159 path = fetchurl { 2149 path = fetchurl {
1160 name = "duplexer2___duplexer2_0.0.2.tgz"; 2150 name = "duplexer2___duplexer2_0.0.2.tgz";
@@ -1173,6 +2163,15 @@
1173 } 2163 }
1174 2164
1175 { 2165 {
2166 name = "duplexify___duplexify_3.7.1.tgz";
2167 path = fetchurl {
2168 name = "duplexify___duplexify_3.7.1.tgz";
2169 url = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
2170 sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
2171 };
2172 }
2173
2174 {
1176 name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; 2175 name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
1177 path = fetchurl { 2176 path = fetchurl {
1178 name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; 2177 name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
@@ -1200,6 +2199,15 @@
1200 } 2199 }
1201 2200
1202 { 2201 {
2202 name = "end_of_stream___end_of_stream_1.4.4.tgz";
2203 path = fetchurl {
2204 name = "end_of_stream___end_of_stream_1.4.4.tgz";
2205 url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
2206 sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
2207 };
2208 }
2209
2210 {
1203 name = "end_of_stream___end_of_stream_0.1.5.tgz"; 2211 name = "end_of_stream___end_of_stream_0.1.5.tgz";
1204 path = fetchurl { 2212 path = fetchurl {
1205 name = "end_of_stream___end_of_stream_0.1.5.tgz"; 2213 name = "end_of_stream___end_of_stream_0.1.5.tgz";
@@ -1254,6 +2262,69 @@
1254 } 2262 }
1255 2263
1256 { 2264 {
2265 name = "es5_ext___es5_ext_0.10.53.tgz";
2266 path = fetchurl {
2267 name = "es5_ext___es5_ext_0.10.53.tgz";
2268 url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz";
2269 sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1";
2270 };
2271 }
2272
2273 {
2274 name = "es5_ext___es5_ext_0.9.2.tgz";
2275 path = fetchurl {
2276 name = "es5_ext___es5_ext_0.9.2.tgz";
2277 url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.9.2.tgz";
2278 sha1 = "d2e309d1f223b0718648835acf5b8823a8061f8a";
2279 };
2280 }
2281
2282 {
2283 name = "es6_iterator___es6_iterator_0.1.3.tgz";
2284 path = fetchurl {
2285 name = "es6_iterator___es6_iterator_0.1.3.tgz";
2286 url = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-0.1.3.tgz";
2287 sha1 = "d6f58b8c4fc413c249b4baa19768f8e4d7c8944e";
2288 };
2289 }
2290
2291 {
2292 name = "es6_iterator___es6_iterator_2.0.3.tgz";
2293 path = fetchurl {
2294 name = "es6_iterator___es6_iterator_2.0.3.tgz";
2295 url = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
2296 sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
2297 };
2298 }
2299
2300 {
2301 name = "es6_symbol___es6_symbol_3.1.3.tgz";
2302 path = fetchurl {
2303 name = "es6_symbol___es6_symbol_3.1.3.tgz";
2304 url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz";
2305 sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18";
2306 };
2307 }
2308
2309 {
2310 name = "es6_symbol___es6_symbol_2.0.1.tgz";
2311 path = fetchurl {
2312 name = "es6_symbol___es6_symbol_2.0.1.tgz";
2313 url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-2.0.1.tgz";
2314 sha1 = "761b5c67cfd4f1d18afb234f691d678682cb3bf3";
2315 };
2316 }
2317
2318 {
2319 name = "es6_weak_map___es6_weak_map_0.1.4.tgz";
2320 path = fetchurl {
2321 name = "es6_weak_map___es6_weak_map_0.1.4.tgz";
2322 url = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-0.1.4.tgz";
2323 sha1 = "706cef9e99aa236ba7766c239c8b9e286ea7d228";
2324 };
2325 }
2326
2327 {
1257 name = "escape_html___escape_html_1.0.3.tgz"; 2328 name = "escape_html___escape_html_1.0.3.tgz";
1258 path = fetchurl { 2329 path = fetchurl {
1259 name = "escape_html___escape_html_1.0.3.tgz"; 2330 name = "escape_html___escape_html_1.0.3.tgz";
@@ -1281,6 +2352,33 @@
1281 } 2352 }
1282 2353
1283 { 2354 {
2355 name = "escodegen___escodegen_1.1.0.tgz";
2356 path = fetchurl {
2357 name = "escodegen___escodegen_1.1.0.tgz";
2358 url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.1.0.tgz";
2359 sha1 = "c663923f6e20aad48d0c0fa49f31c6d4f49360cf";
2360 };
2361 }
2362
2363 {
2364 name = "escope___escope_0.0.16.tgz";
2365 path = fetchurl {
2366 name = "escope___escope_0.0.16.tgz";
2367 url = "https://registry.yarnpkg.com/escope/-/escope-0.0.16.tgz";
2368 sha1 = "418c7a0afca721dafe659193fd986283e746538f";
2369 };
2370 }
2371
2372 {
2373 name = "esprima_fb___esprima_fb_3001.0001.0000_dev_harmony_fb.tgz";
2374 path = fetchurl {
2375 name = "esprima_fb___esprima_fb_3001.0001.0000_dev_harmony_fb.tgz";
2376 url = "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
2377 sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411";
2378 };
2379 }
2380
2381 {
1284 name = "esprima___esprima_2.7.3.tgz"; 2382 name = "esprima___esprima_2.7.3.tgz";
1285 path = fetchurl { 2383 path = fetchurl {
1286 name = "esprima___esprima_2.7.3.tgz"; 2384 name = "esprima___esprima_2.7.3.tgz";
@@ -1299,6 +2397,33 @@
1299 } 2397 }
1300 2398
1301 { 2399 {
2400 name = "esprima___esprima_1.0.4.tgz";
2401 path = fetchurl {
2402 name = "esprima___esprima_1.0.4.tgz";
2403 url = "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz";
2404 sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
2405 };
2406 }
2407
2408 {
2409 name = "esrefactor___esrefactor_0.1.0.tgz";
2410 path = fetchurl {
2411 name = "esrefactor___esrefactor_0.1.0.tgz";
2412 url = "https://registry.yarnpkg.com/esrefactor/-/esrefactor-0.1.0.tgz";
2413 sha1 = "d142795a282339ab81e936b5b7a21b11bf197b13";
2414 };
2415 }
2416
2417 {
2418 name = "estraverse___estraverse_5.0.0.tgz";
2419 path = fetchurl {
2420 name = "estraverse___estraverse_5.0.0.tgz";
2421 url = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.0.0.tgz";
2422 sha1 = "ac81750b482c11cca26e4b07e83ed8f75fbcdc22";
2423 };
2424 }
2425
2426 {
1302 name = "estraverse___estraverse_1.9.3.tgz"; 2427 name = "estraverse___estraverse_1.9.3.tgz";
1303 path = fetchurl { 2428 path = fetchurl {
1304 name = "estraverse___estraverse_1.9.3.tgz"; 2429 name = "estraverse___estraverse_1.9.3.tgz";
@@ -1308,11 +2433,83 @@
1308 } 2433 }
1309 2434
1310 { 2435 {
1311 name = "esutils___esutils_2.0.2.tgz"; 2436 name = "estraverse___estraverse_0.0.4.tgz";
2437 path = fetchurl {
2438 name = "estraverse___estraverse_0.0.4.tgz";
2439 url = "https://registry.yarnpkg.com/estraverse/-/estraverse-0.0.4.tgz";
2440 sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
2441 };
2442 }
2443
2444 {
2445 name = "estraverse___estraverse_1.5.1.tgz";
2446 path = fetchurl {
2447 name = "estraverse___estraverse_1.5.1.tgz";
2448 url = "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz";
2449 sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
2450 };
2451 }
2452
2453 {
2454 name = "esutils___esutils_2.0.3.tgz";
2455 path = fetchurl {
2456 name = "esutils___esutils_2.0.3.tgz";
2457 url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
2458 sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
2459 };
2460 }
2461
2462 {
2463 name = "esutils___esutils_1.0.0.tgz";
2464 path = fetchurl {
2465 name = "esutils___esutils_1.0.0.tgz";
2466 url = "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz";
2467 sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
2468 };
2469 }
2470
2471 {
2472 name = "etag___etag_1.7.0.tgz";
2473 path = fetchurl {
2474 name = "etag___etag_1.7.0.tgz";
2475 url = "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz";
2476 sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
2477 };
2478 }
2479
2480 {
2481 name = "event_emitter___event_emitter_0.2.2.tgz";
1312 path = fetchurl { 2482 path = fetchurl {
1313 name = "esutils___esutils_2.0.2.tgz"; 2483 name = "event_emitter___event_emitter_0.2.2.tgz";
1314 url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz"; 2484 url = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.2.2.tgz";
1315 sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; 2485 sha1 = "c81e3724eb55407c5a0d5ee3299411f700f54291";
2486 };
2487 }
2488
2489 {
2490 name = "event_emitter___event_emitter_0.3.5.tgz";
2491 path = fetchurl {
2492 name = "event_emitter___event_emitter_0.3.5.tgz";
2493 url = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz";
2494 sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
2495 };
2496 }
2497
2498 {
2499 name = "event_stream___event_stream_4.0.1.tgz";
2500 path = fetchurl {
2501 name = "event_stream___event_stream_4.0.1.tgz";
2502 url = "https://registry.yarnpkg.com/event-stream/-/event-stream-4.0.1.tgz";
2503 sha1 = "4092808ec995d0dd75ea4580c1df6a74db2cde65";
2504 };
2505 }
2506
2507 {
2508 name = "event_stream___event_stream_3.3.2.tgz";
2509 path = fetchurl {
2510 name = "event_stream___event_stream_3.3.2.tgz";
2511 url = "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.2.tgz";
2512 sha1 = "3cc310feb1f28d2f62b2a085d736a9ef566378b8";
1316 }; 2513 };
1317 } 2514 }
1318 2515
@@ -1326,11 +2523,20 @@
1326 } 2523 }
1327 2524
1328 { 2525 {
1329 name = "eventemitter3___eventemitter3_3.1.0.tgz"; 2526 name = "eventemitter3___eventemitter3_4.0.0.tgz";
2527 path = fetchurl {
2528 name = "eventemitter3___eventemitter3_4.0.0.tgz";
2529 url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz";
2530 sha1 = "d65176163887ee59f386d64c82610b696a4a74eb";
2531 };
2532 }
2533
2534 {
2535 name = "events___events_1.0.2.tgz";
1330 path = fetchurl { 2536 path = fetchurl {
1331 name = "eventemitter3___eventemitter3_3.1.0.tgz"; 2537 name = "events___events_1.0.2.tgz";
1332 url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz"; 2538 url = "https://registry.yarnpkg.com/events/-/events-1.0.2.tgz";
1333 sha1 = "090b4d6cdbd645ed10bf750d4b5407942d7ba163"; 2539 sha1 = "75849dcfe93d10fb057c30055afdbd51d06a8e24";
1334 }; 2540 };
1335 } 2541 }
1336 2542
@@ -1389,6 +2595,15 @@
1389 } 2595 }
1390 2596
1391 { 2597 {
2598 name = "ext___ext_1.4.0.tgz";
2599 path = fetchurl {
2600 name = "ext___ext_1.4.0.tgz";
2601 url = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
2602 sha1 = "89ae7a07158f79d35517882904324077e4379244";
2603 };
2604 }
2605
2606 {
1392 name = "extend_shallow___extend_shallow_2.0.1.tgz"; 2607 name = "extend_shallow___extend_shallow_2.0.1.tgz";
1393 path = fetchurl { 2608 path = fetchurl {
1394 name = "extend_shallow___extend_shallow_2.0.1.tgz"; 2609 name = "extend_shallow___extend_shallow_2.0.1.tgz";
@@ -1461,20 +2676,20 @@
1461 } 2676 }
1462 2677
1463 { 2678 {
1464 name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; 2679 name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz";
1465 path = fetchurl { 2680 path = fetchurl {
1466 name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; 2681 name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz";
1467 url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; 2682 url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
1468 sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; 2683 sha1 = "545145077c501491e33b15ec408c294376e94ae4";
1469 }; 2684 };
1470 } 2685 }
1471 2686
1472 { 2687 {
1473 name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; 2688 name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
1474 path = fetchurl { 2689 path = fetchurl {
1475 name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; 2690 name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
1476 url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; 2691 url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
1477 sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; 2692 sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
1478 }; 2693 };
1479 } 2694 }
1480 2695
@@ -1497,6 +2712,15 @@
1497 } 2712 }
1498 2713
1499 { 2714 {
2715 name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
2716 path = fetchurl {
2717 name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
2718 url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
2719 sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
2720 };
2721 }
2722
2723 {
1500 name = "filename_regex___filename_regex_2.0.1.tgz"; 2724 name = "filename_regex___filename_regex_2.0.1.tgz";
1501 path = fetchurl { 2725 path = fetchurl {
1502 name = "filename_regex___filename_regex_2.0.1.tgz"; 2726 name = "filename_regex___filename_regex_2.0.1.tgz";
@@ -1524,11 +2748,11 @@
1524 } 2748 }
1525 2749
1526 { 2750 {
1527 name = "finalhandler___finalhandler_1.1.0.tgz"; 2751 name = "finalhandler___finalhandler_1.1.2.tgz";
1528 path = fetchurl { 2752 path = fetchurl {
1529 name = "finalhandler___finalhandler_1.1.0.tgz"; 2753 name = "finalhandler___finalhandler_1.1.2.tgz";
1530 url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz"; 2754 url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
1531 sha1 = "ce0b6855b45853e791b2fcc680046d88253dd7f5"; 2755 sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
1532 }; 2756 };
1533 } 2757 }
1534 2758
@@ -1560,11 +2784,11 @@
1560 } 2784 }
1561 2785
1562 { 2786 {
1563 name = "fined___fined_1.1.1.tgz"; 2787 name = "fined___fined_1.2.0.tgz";
1564 path = fetchurl { 2788 path = fetchurl {
1565 name = "fined___fined_1.1.1.tgz"; 2789 name = "fined___fined_1.2.0.tgz";
1566 url = "https://registry.yarnpkg.com/fined/-/fined-1.1.1.tgz"; 2790 url = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz";
1567 sha1 = "95d88ff329123dd1a6950fdfcd321f746271e01f"; 2791 sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b";
1568 }; 2792 };
1569 } 2793 }
1570 2794
@@ -1578,6 +2802,15 @@
1578 } 2802 }
1579 2803
1580 { 2804 {
2805 name = "fixtures2js___fixtures2js_0.0.0.tgz";
2806 path = fetchurl {
2807 name = "fixtures2js___fixtures2js_0.0.0.tgz";
2808 url = "https://registry.yarnpkg.com/fixtures2js/-/fixtures2js-0.0.0.tgz";
2809 sha1 = "602f7964c5b2963fe73224c8e4a3607d75c1b34f";
2810 };
2811 }
2812
2813 {
1581 name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; 2814 name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
1582 path = fetchurl { 2815 path = fetchurl {
1583 name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; 2816 name = "flagged_respawn___flagged_respawn_1.0.1.tgz";
@@ -1587,11 +2820,11 @@
1587 } 2820 }
1588 2821
1589 { 2822 {
1590 name = "follow_redirects___follow_redirects_1.7.0.tgz"; 2823 name = "follow_redirects___follow_redirects_1.11.0.tgz";
1591 path = fetchurl { 2824 path = fetchurl {
1592 name = "follow_redirects___follow_redirects_1.7.0.tgz"; 2825 name = "follow_redirects___follow_redirects_1.11.0.tgz";
1593 url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz"; 2826 url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.11.0.tgz";
1594 sha1 = "489ebc198dc0e7f64167bd23b03c4c19b5784c76"; 2827 sha1 = "afa14f08ba12a52963140fe43212658897bc0ecb";
1595 }; 2828 };
1596 } 2829 }
1597 2830
@@ -1623,6 +2856,15 @@
1623 } 2856 }
1624 2857
1625 { 2858 {
2859 name = "forever_agent___forever_agent_0.5.2.tgz";
2860 path = fetchurl {
2861 name = "forever_agent___forever_agent_0.5.2.tgz";
2862 url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz";
2863 sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
2864 };
2865 }
2866
2867 {
1626 name = "forever_agent___forever_agent_0.6.1.tgz"; 2868 name = "forever_agent___forever_agent_0.6.1.tgz";
1627 path = fetchurl { 2869 path = fetchurl {
1628 name = "forever_agent___forever_agent_0.6.1.tgz"; 2870 name = "forever_agent___forever_agent_0.6.1.tgz";
@@ -1632,6 +2874,33 @@
1632 } 2874 }
1633 2875
1634 { 2876 {
2877 name = "fork_stream___fork_stream_0.0.4.tgz";
2878 path = fetchurl {
2879 name = "fork_stream___fork_stream_0.0.4.tgz";
2880 url = "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz";
2881 sha1 = "db849fce77f6708a5f8f386ae533a0907b54ae70";
2882 };
2883 }
2884
2885 {
2886 name = "form_data___form_data_0.1.4.tgz";
2887 path = fetchurl {
2888 name = "form_data___form_data_0.1.4.tgz";
2889 url = "https://registry.yarnpkg.com/form-data/-/form-data-0.1.4.tgz";
2890 sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
2891 };
2892 }
2893
2894 {
2895 name = "form_data___form_data_0.2.0.tgz";
2896 path = fetchurl {
2897 name = "form_data___form_data_0.2.0.tgz";
2898 url = "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz";
2899 sha1 = "26f8bc26da6440e299cbdcfb69035c4f77a6e466";
2900 };
2901 }
2902
2903 {
1635 name = "form_data___form_data_2.3.3.tgz"; 2904 name = "form_data___form_data_2.3.3.tgz";
1636 path = fetchurl { 2905 path = fetchurl {
1637 name = "form_data___form_data_2.3.3.tgz"; 2906 name = "form_data___form_data_2.3.3.tgz";
@@ -1650,6 +2919,15 @@
1650 } 2919 }
1651 2920
1652 { 2921 {
2922 name = "fresh___fresh_0.3.0.tgz";
2923 path = fetchurl {
2924 name = "fresh___fresh_0.3.0.tgz";
2925 url = "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz";
2926 sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
2927 };
2928 }
2929
2930 {
1653 name = "from___from_0.1.7.tgz"; 2931 name = "from___from_0.1.7.tgz";
1654 path = fetchurl { 2932 path = fetchurl {
1655 name = "from___from_0.1.7.tgz"; 2933 name = "from___from_0.1.7.tgz";
@@ -1668,11 +2946,11 @@
1668 } 2946 }
1669 2947
1670 { 2948 {
1671 name = "fs_minipass___fs_minipass_1.2.5.tgz"; 2949 name = "fs_minipass___fs_minipass_1.2.7.tgz";
1672 path = fetchurl { 2950 path = fetchurl {
1673 name = "fs_minipass___fs_minipass_1.2.5.tgz"; 2951 name = "fs_minipass___fs_minipass_1.2.7.tgz";
1674 url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz"; 2952 url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz";
1675 sha1 = "06c277218454ec288df77ada54a03b8702aacb9d"; 2953 sha1 = "ccff8570841e7fe4265693da88936c55aed7f7c7";
1676 }; 2954 };
1677 } 2955 }
1678 2956
@@ -1686,20 +2964,38 @@
1686 } 2964 }
1687 2965
1688 { 2966 {
1689 name = "fsevents___fsevents_1.2.7.tgz"; 2967 name = "fsevents___fsevents_1.2.12.tgz";
2968 path = fetchurl {
2969 name = "fsevents___fsevents_1.2.12.tgz";
2970 url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz";
2971 sha1 = "db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c";
2972 };
2973 }
2974
2975 {
2976 name = "fstream_ignore___fstream_ignore_0.0.10.tgz";
2977 path = fetchurl {
2978 name = "fstream_ignore___fstream_ignore_0.0.10.tgz";
2979 url = "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-0.0.10.tgz";
2980 sha1 = "b10f8f522cc55415f80b41f7d3a32e6cba254e8c";
2981 };
2982 }
2983
2984 {
2985 name = "fstream___fstream_1.0.12.tgz";
1690 path = fetchurl { 2986 path = fetchurl {
1691 name = "fsevents___fsevents_1.2.7.tgz"; 2987 name = "fstream___fstream_1.0.12.tgz";
1692 url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz"; 2988 url = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz";
1693 sha1 = "4851b664a3783e52003b3c66eb0eee1074933aa4"; 2989 sha1 = "4e8ba8ee2d48be4f7d0de505455548eae5932045";
1694 }; 2990 };
1695 } 2991 }
1696 2992
1697 { 2993 {
1698 name = "fstream___fstream_1.0.11.tgz"; 2994 name = "fstream___fstream_0.1.31.tgz";
1699 path = fetchurl { 2995 path = fetchurl {
1700 name = "fstream___fstream_1.0.11.tgz"; 2996 name = "fstream___fstream_0.1.31.tgz";
1701 url = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz"; 2997 url = "https://registry.yarnpkg.com/fstream/-/fstream-0.1.31.tgz";
1702 sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"; 2998 sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
1703 }; 2999 };
1704 } 3000 }
1705 3001
@@ -1839,11 +3135,20 @@
1839 } 3135 }
1840 3136
1841 { 3137 {
1842 name = "glob___glob_7.1.3.tgz"; 3138 name = "glob___glob_6.0.4.tgz";
1843 path = fetchurl { 3139 path = fetchurl {
1844 name = "glob___glob_7.1.3.tgz"; 3140 name = "glob___glob_6.0.4.tgz";
1845 url = "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz"; 3141 url = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz";
1846 sha1 = "3960832d3f1574108342dafd3a67b332c0969df1"; 3142 sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
3143 };
3144 }
3145
3146 {
3147 name = "glob___glob_7.1.6.tgz";
3148 path = fetchurl {
3149 name = "glob___glob_7.1.6.tgz";
3150 url = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
3151 sha1 = "141f33b81a7c2492e125594307480c46679278a6";
1847 }; 3152 };
1848 } 3153 }
1849 3154
@@ -1857,6 +3162,24 @@
1857 } 3162 }
1858 3163
1859 { 3164 {
3165 name = "glob___glob_3.2.11.tgz";
3166 path = fetchurl {
3167 name = "glob___glob_3.2.11.tgz";
3168 url = "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz";
3169 sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
3170 };
3171 }
3172
3173 {
3174 name = "glob___glob_4.0.6.tgz";
3175 path = fetchurl {
3176 name = "glob___glob_4.0.6.tgz";
3177 url = "https://registry.yarnpkg.com/glob/-/glob-4.0.6.tgz";
3178 sha1 = "695c50bdd4e2fb5c5d370b091f388d3707e291a7";
3179 };
3180 }
3181
3182 {
1860 name = "global_modules___global_modules_1.0.0.tgz"; 3183 name = "global_modules___global_modules_1.0.0.tgz";
1861 path = fetchurl { 3184 path = fetchurl {
1862 name = "global_modules___global_modules_1.0.0.tgz"; 3185 name = "global_modules___global_modules_1.0.0.tgz";
@@ -1875,11 +3198,11 @@
1875 } 3198 }
1876 3199
1877 { 3200 {
1878 name = "globule___globule_1.2.1.tgz"; 3201 name = "globule___globule_1.3.1.tgz";
1879 path = fetchurl { 3202 path = fetchurl {
1880 name = "globule___globule_1.2.1.tgz"; 3203 name = "globule___globule_1.3.1.tgz";
1881 url = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz"; 3204 url = "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz";
1882 sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d"; 3205 sha1 = "90a25338f22b7fbeb527cee63c629aea754d33b9";
1883 }; 3206 };
1884 } 3207 }
1885 3208
@@ -1902,20 +3225,29 @@
1902 } 3225 }
1903 3226
1904 { 3227 {
1905 name = "graceful_fs___graceful_fs_3.0.11.tgz"; 3228 name = "got___got_3.3.1.tgz";
1906 path = fetchurl { 3229 path = fetchurl {
1907 name = "graceful_fs___graceful_fs_3.0.11.tgz"; 3230 name = "got___got_3.3.1.tgz";
1908 url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz"; 3231 url = "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz";
1909 sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818"; 3232 sha1 = "e5d0ed4af55fc3eef4d56007769d98192bcb2eca";
1910 }; 3233 };
1911 } 3234 }
1912 3235
1913 { 3236 {
1914 name = "graceful_fs___graceful_fs_4.1.15.tgz"; 3237 name = "graceful_fs___graceful_fs_3.0.12.tgz";
1915 path = fetchurl { 3238 path = fetchurl {
1916 name = "graceful_fs___graceful_fs_4.1.15.tgz"; 3239 name = "graceful_fs___graceful_fs_3.0.12.tgz";
1917 url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz"; 3240 url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz";
1918 sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"; 3241 sha1 = "0034947ce9ed695ec8ab0b854bc919e82b1ffaef";
3242 };
3243 }
3244
3245 {
3246 name = "graceful_fs___graceful_fs_4.2.3.tgz";
3247 path = fetchurl {
3248 name = "graceful_fs___graceful_fs_4.2.3.tgz";
3249 url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz";
3250 sha1 = "4a12ff1b60376ef09862c2093edd908328be8423";
1919 }; 3251 };
1920 } 3252 }
1921 3253
@@ -1929,11 +3261,164 @@
1929 } 3261 }
1930 3262
1931 { 3263 {
1932 name = "guanlecoja___guanlecoja_0.8.8.tgz"; 3264 name = "graceful_fs___graceful_fs_2.0.3.tgz";
3265 path = fetchurl {
3266 name = "graceful_fs___graceful_fs_2.0.3.tgz";
3267 url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-2.0.3.tgz";
3268 sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
3269 };
3270 }
3271
3272 {
3273 name = "guanlecoja___guanlecoja_0.9.2.tgz";
3274 path = fetchurl {
3275 name = "guanlecoja___guanlecoja_0.9.2.tgz";
3276 url = "https://registry.yarnpkg.com/guanlecoja/-/guanlecoja-0.9.2.tgz";
3277 sha1 = "03febe92d9e7575a633b4d5ad8d19f5ee1cdf326";
3278 };
3279 }
3280
3281 {
3282 name = "gulp_angular_templatecache___gulp_angular_templatecache_1.9.1.tgz";
3283 path = fetchurl {
3284 name = "gulp_angular_templatecache___gulp_angular_templatecache_1.9.1.tgz";
3285 url = "https://registry.yarnpkg.com/gulp-angular-templatecache/-/gulp-angular-templatecache-1.9.1.tgz";
3286 sha1 = "60f631e97aaaa765d942e37042e4bfbb1a5df244";
3287 };
3288 }
3289
3290 {
3291 name = "gulp_bower_deps___gulp_bower_deps_0.3.3.tgz";
3292 path = fetchurl {
3293 name = "gulp_bower_deps___gulp_bower_deps_0.3.3.tgz";
3294 url = "https://registry.yarnpkg.com/gulp-bower-deps/-/gulp-bower-deps-0.3.3.tgz";
3295 sha1 = "2109fe3fbee35069f67312bb977e591d890296cd";
3296 };
3297 }
3298
3299 {
3300 name = "gulp_browserify___gulp_browserify_0.5.1.tgz";
3301 path = fetchurl {
3302 name = "gulp_browserify___gulp_browserify_0.5.1.tgz";
3303 url = "https://registry.yarnpkg.com/gulp-browserify/-/gulp-browserify-0.5.1.tgz";
3304 sha1 = "820108ac2554a954adb8be17d23958b0c04be083";
3305 };
3306 }
3307
3308 {
3309 name = "gulp_cached___gulp_cached_1.1.1.tgz";
3310 path = fetchurl {
3311 name = "gulp_cached___gulp_cached_1.1.1.tgz";
3312 url = "https://registry.yarnpkg.com/gulp-cached/-/gulp-cached-1.1.1.tgz";
3313 sha1 = "fe7cd4f87f37601e6073cfedee5c2bdaf8b6acce";
3314 };
3315 }
3316
3317 {
3318 name = "gulp_clean_css___gulp_clean_css_2.4.0.tgz";
3319 path = fetchurl {
3320 name = "gulp_clean_css___gulp_clean_css_2.4.0.tgz";
3321 url = "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-2.4.0.tgz";
3322 sha1 = "2ae48109fe83ccc967ff5ad53c044949a4863b36";
3323 };
3324 }
3325
3326 {
3327 name = "gulp_coffee___gulp_coffee_2.3.5.tgz";
3328 path = fetchurl {
3329 name = "gulp_coffee___gulp_coffee_2.3.5.tgz";
3330 url = "https://registry.yarnpkg.com/gulp-coffee/-/gulp-coffee-2.3.5.tgz";
3331 sha1 = "8c64e9ac884e1bab4e20b66ac7c386a816859041";
3332 };
3333 }
3334
3335 {
3336 name = "gulp_concat___gulp_concat_2.6.0.tgz";
3337 path = fetchurl {
3338 name = "gulp_concat___gulp_concat_2.6.0.tgz";
3339 url = "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.0.tgz";
3340 sha1 = "585cfb115411f348773131140566b6a81c69cb91";
3341 };
3342 }
3343
3344 {
3345 name = "gulp_concat___gulp_concat_2.6.1.tgz";
3346 path = fetchurl {
3347 name = "gulp_concat___gulp_concat_2.6.1.tgz";
3348 url = "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz";
3349 sha1 = "633d16c95d88504628ad02665663cee5a4793353";
3350 };
3351 }
3352
3353 {
3354 name = "gulp_fixtures2js___gulp_fixtures2js_0.0.1.tgz";
3355 path = fetchurl {
3356 name = "gulp_fixtures2js___gulp_fixtures2js_0.0.1.tgz";
3357 url = "https://registry.yarnpkg.com/gulp-fixtures2js/-/gulp-fixtures2js-0.0.1.tgz";
3358 sha1 = "4a3cbb4404bdfab92f7d2b6e09de2bfd0ae78506";
3359 };
3360 }
3361
3362 {
3363 name = "gulp_footer___gulp_footer_1.0.5.tgz";
3364 path = fetchurl {
3365 name = "gulp_footer___gulp_footer_1.0.5.tgz";
3366 url = "https://registry.yarnpkg.com/gulp-footer/-/gulp-footer-1.0.5.tgz";
3367 sha1 = "e84ca777e266be7bbc2d45d2df0e7eba8dfa3e54";
3368 };
3369 }
3370
3371 {
3372 name = "gulp_footer___gulp_footer_1.1.2.tgz";
3373 path = fetchurl {
3374 name = "gulp_footer___gulp_footer_1.1.2.tgz";
3375 url = "https://registry.yarnpkg.com/gulp-footer/-/gulp-footer-1.1.2.tgz";
3376 sha1 = "7fe28324ec67e3d618d31e0f5ea2ee5b454f6877";
3377 };
3378 }
3379
3380 {
3381 name = "gulp_header___gulp_header_1.8.2.tgz";
3382 path = fetchurl {
3383 name = "gulp_header___gulp_header_1.8.2.tgz";
3384 url = "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.2.tgz";
3385 sha1 = "3ab222f53719d2d03d81d9134252fe7d52425aa4";
3386 };
3387 }
3388
3389 {
3390 name = "gulp_header___gulp_header_1.8.12.tgz";
3391 path = fetchurl {
3392 name = "gulp_header___gulp_header_1.8.12.tgz";
3393 url = "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz";
3394 sha1 = "ad306be0066599127281c4f8786660e705080a84";
3395 };
3396 }
3397
3398 {
3399 name = "gulp_help___gulp_help_1.6.1.tgz";
3400 path = fetchurl {
3401 name = "gulp_help___gulp_help_1.6.1.tgz";
3402 url = "https://registry.yarnpkg.com/gulp-help/-/gulp-help-1.6.1.tgz";
3403 sha1 = "261db186e18397fef3f6a2c22e9c315bfa88ae0c";
3404 };
3405 }
3406
3407 {
3408 name = "gulp_if___gulp_if_2.0.2.tgz";
1933 path = fetchurl { 3409 path = fetchurl {
1934 name = "guanlecoja___guanlecoja_0.8.8.tgz"; 3410 name = "gulp_if___gulp_if_2.0.2.tgz";
1935 url = "https://registry.yarnpkg.com/guanlecoja/-/guanlecoja-0.8.8.tgz"; 3411 url = "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.2.tgz";
1936 sha1 = "210099a9f4ea9bf80d78fda730226f7862478a26"; 3412 sha1 = "a497b7e7573005041caa2bc8b7dda3c80444d629";
3413 };
3414 }
3415
3416 {
3417 name = "gulp_less___gulp_less_1.3.9.tgz";
3418 path = fetchurl {
3419 name = "gulp_less___gulp_less_1.3.9.tgz";
3420 url = "https://registry.yarnpkg.com/gulp-less/-/gulp-less-1.3.9.tgz";
3421 sha1 = "e129750f236693ead5b522af311cc33eeff1910e";
1937 }; 3422 };
1938 } 3423 }
1939 3424
@@ -1947,6 +3432,24 @@
1947 } 3432 }
1948 3433
1949 { 3434 {
3435 name = "gulp_match___gulp_match_1.1.0.tgz";
3436 path = fetchurl {
3437 name = "gulp_match___gulp_match_1.1.0.tgz";
3438 url = "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.1.0.tgz";
3439 sha1 = "552b7080fc006ee752c90563f9fec9d61aafdf4f";
3440 };
3441 }
3442
3443 {
3444 name = "gulp_ng_annotate___gulp_ng_annotate_1.1.0.tgz";
3445 path = fetchurl {
3446 name = "gulp_ng_annotate___gulp_ng_annotate_1.1.0.tgz";
3447 url = "https://registry.yarnpkg.com/gulp-ng-annotate/-/gulp-ng-annotate-1.1.0.tgz";
3448 sha1 = "5e801be073d8f6d343c4ff65b71717b90fac13ce";
3449 };
3450 }
3451
3452 {
1950 name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz"; 3453 name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz";
1951 path = fetchurl { 3454 path = fetchurl {
1952 name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz"; 3455 name = "gulp_ng_classify___gulp_ng_classify_4.0.1.tgz";
@@ -1956,6 +3459,42 @@
1956 } 3459 }
1957 3460
1958 { 3461 {
3462 name = "gulp_pug___gulp_pug_3.3.0.tgz";
3463 path = fetchurl {
3464 name = "gulp_pug___gulp_pug_3.3.0.tgz";
3465 url = "https://registry.yarnpkg.com/gulp-pug/-/gulp-pug-3.3.0.tgz";
3466 sha1 = "46982c1439c094c360542ed8ba5c882d3bb711cf";
3467 };
3468 }
3469
3470 {
3471 name = "gulp_remember___gulp_remember_0.3.1.tgz";
3472 path = fetchurl {
3473 name = "gulp_remember___gulp_remember_0.3.1.tgz";
3474 url = "https://registry.yarnpkg.com/gulp-remember/-/gulp-remember-0.3.1.tgz";
3475 sha1 = "5776b6f64c5a1c5c4d4555406723ec8e2b0407e7";
3476 };
3477 }
3478
3479 {
3480 name = "gulp_rename___gulp_rename_1.2.3.tgz";
3481 path = fetchurl {
3482 name = "gulp_rename___gulp_rename_1.2.3.tgz";
3483 url = "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.3.tgz";
3484 sha1 = "37b75298e9d3e6c0fe9ac4eac13ce3be5434646b";
3485 };
3486 }
3487
3488 {
3489 name = "gulp_replace___gulp_replace_0.5.4.tgz";
3490 path = fetchurl {
3491 name = "gulp_replace___gulp_replace_0.5.4.tgz";
3492 url = "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.5.4.tgz";
3493 sha1 = "69a67914bbd13c562bff14f504a403796aa0daa9";
3494 };
3495 }
3496
3497 {
1959 name = "gulp_sass___gulp_sass_3.2.1.tgz"; 3498 name = "gulp_sass___gulp_sass_3.2.1.tgz";
1960 path = fetchurl { 3499 path = fetchurl {
1961 name = "gulp_sass___gulp_sass_3.2.1.tgz"; 3500 name = "gulp_sass___gulp_sass_3.2.1.tgz";
@@ -1965,6 +3504,24 @@
1965 } 3504 }
1966 3505
1967 { 3506 {
3507 name = "gulp_sourcemaps___gulp_sourcemaps_1.6.0.tgz";
3508 path = fetchurl {
3509 name = "gulp_sourcemaps___gulp_sourcemaps_1.6.0.tgz";
3510 url = "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz";
3511 sha1 = "b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c";
3512 };
3513 }
3514
3515 {
3516 name = "gulp_uglify___gulp_uglify_1.4.2.tgz";
3517 path = fetchurl {
3518 name = "gulp_uglify___gulp_uglify_1.4.2.tgz";
3519 url = "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-1.4.2.tgz";
3520 sha1 = "2807ea1016e4962c37766c02feeb5501818857c3";
3521 };
3522 }
3523
3524 {
1968 name = "gulp_util___gulp_util_3.0.8.tgz"; 3525 name = "gulp_util___gulp_util_3.0.8.tgz";
1969 path = fetchurl { 3526 path = fetchurl {
1970 name = "gulp_util___gulp_util_3.0.8.tgz"; 3527 name = "gulp_util___gulp_util_3.0.8.tgz";
@@ -1974,11 +3531,38 @@
1974 } 3531 }
1975 3532
1976 { 3533 {
1977 name = "gulp___gulp_3.9.0.tgz"; 3534 name = "gulp_util___gulp_util_3.0.7.tgz";
3535 path = fetchurl {
3536 name = "gulp_util___gulp_util_3.0.7.tgz";
3537 url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz";
3538 sha1 = "78925c4b8f8b49005ac01a011c557e6218941cbb";
3539 };
3540 }
3541
3542 {
3543 name = "gulp_util___gulp_util_2.2.20.tgz";
3544 path = fetchurl {
3545 name = "gulp_util___gulp_util_2.2.20.tgz";
3546 url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz";
3547 sha1 = "d7146e5728910bd8f047a6b0b1e549bc22dbd64c";
3548 };
3549 }
3550
3551 {
3552 name = "gulp_wrap___gulp_wrap_0.8.0.tgz";
1978 path = fetchurl { 3553 path = fetchurl {
1979 name = "gulp___gulp_3.9.0.tgz"; 3554 name = "gulp_wrap___gulp_wrap_0.8.0.tgz";
1980 url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.0.tgz"; 3555 url = "https://registry.yarnpkg.com/gulp-wrap/-/gulp-wrap-0.8.0.tgz";
1981 sha1 = "cf1fba4cb558bb8c6ae6c9613f583ae2620d214a"; 3556 sha1 = "c41ce89a374947788b78c9e67f33bbe838c69b86";
3557 };
3558 }
3559
3560 {
3561 name = "gulp___gulp_3.9.1.tgz";
3562 path = fetchurl {
3563 name = "gulp___gulp_3.9.1.tgz";
3564 url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz";
3565 sha1 = "571ce45928dd40af6514fc4011866016c13845b4";
1982 }; 3566 };
1983 } 3567 }
1984 3568
@@ -1992,11 +3576,20 @@
1992 } 3576 }
1993 3577
1994 { 3578 {
1995 name = "handlebars___handlebars_4.1.0.tgz"; 3579 name = "handlebars___handlebars_4.7.3.tgz";
1996 path = fetchurl { 3580 path = fetchurl {
1997 name = "handlebars___handlebars_4.1.0.tgz"; 3581 name = "handlebars___handlebars_4.7.3.tgz";
1998 url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.0.tgz"; 3582 url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.3.tgz";
1999 sha1 = "0d6a6f34ff1f63cecec8423aa4169827bf787c3a"; 3583 sha1 = "8ece2797826886cf8082d1726ff21d2a022550ee";
3584 };
3585 }
3586
3587 {
3588 name = "handlebars___handlebars_1.3.0.tgz";
3589 path = fetchurl {
3590 name = "handlebars___handlebars_1.3.0.tgz";
3591 url = "https://registry.yarnpkg.com/handlebars/-/handlebars-1.3.0.tgz";
3592 sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34";
2000 }; 3593 };
2001 } 3594 }
2002 3595
@@ -2046,6 +3639,15 @@
2046 } 3639 }
2047 3640
2048 { 3641 {
3642 name = "has_color___has_color_0.1.7.tgz";
3643 path = fetchurl {
3644 name = "has_color___has_color_0.1.7.tgz";
3645 url = "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz";
3646 sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
3647 };
3648 }
3649
3650 {
2049 name = "has_cors___has_cors_1.1.0.tgz"; 3651 name = "has_cors___has_cors_1.1.0.tgz";
2050 path = fetchurl { 3652 path = fetchurl {
2051 name = "has_cors___has_cors_1.1.0.tgz"; 3653 name = "has_cors___has_cors_1.1.0.tgz";
@@ -2064,6 +3666,15 @@
2064 } 3666 }
2065 3667
2066 { 3668 {
3669 name = "has_flag___has_flag_4.0.0.tgz";
3670 path = fetchurl {
3671 name = "has_flag___has_flag_4.0.0.tgz";
3672 url = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz";
3673 sha1 = "944771fd9c81c81265c4d6941860da06bb59479b";
3674 };
3675 }
3676
3677 {
2067 name = "has_gulplog___has_gulplog_0.1.0.tgz"; 3678 name = "has_gulplog___has_gulplog_0.1.0.tgz";
2068 path = fetchurl { 3679 path = fetchurl {
2069 name = "has_gulplog___has_gulplog_0.1.0.tgz"; 3680 name = "has_gulplog___has_gulplog_0.1.0.tgz";
@@ -2127,6 +3738,33 @@
2127 } 3738 }
2128 3739
2129 { 3740 {
3741 name = "hawk___hawk_1.1.1.tgz";
3742 path = fetchurl {
3743 name = "hawk___hawk_1.1.1.tgz";
3744 url = "https://registry.yarnpkg.com/hawk/-/hawk-1.1.1.tgz";
3745 sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
3746 };
3747 }
3748
3749 {
3750 name = "hawk___hawk_1.0.0.tgz";
3751 path = fetchurl {
3752 name = "hawk___hawk_1.0.0.tgz";
3753 url = "https://registry.yarnpkg.com/hawk/-/hawk-1.0.0.tgz";
3754 sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
3755 };
3756 }
3757
3758 {
3759 name = "hoek___hoek_0.9.1.tgz";
3760 path = fetchurl {
3761 name = "hoek___hoek_0.9.1.tgz";
3762 url = "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz";
3763 sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
3764 };
3765 }
3766
3767 {
2130 name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; 3768 name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
2131 path = fetchurl { 3769 path = fetchurl {
2132 name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; 3770 name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
@@ -2136,20 +3774,29 @@
2136 } 3774 }
2137 3775
2138 { 3776 {
2139 name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; 3777 name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
3778 path = fetchurl {
3779 name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
3780 url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz";
3781 sha1 = "7539bd4bc1e0e0a895815a2e0262420b12858488";
3782 };
3783 }
3784
3785 {
3786 name = "http_browserify___http_browserify_1.3.2.tgz";
2140 path = fetchurl { 3787 path = fetchurl {
2141 name = "hosted_git_info___hosted_git_info_2.7.1.tgz"; 3788 name = "http_browserify___http_browserify_1.3.2.tgz";
2142 url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz"; 3789 url = "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.3.2.tgz";
2143 sha1 = "97f236977bd6e125408930ff6de3eec6281ec047"; 3790 sha1 = "b562c34479349a690d7a6597df495aefa8c604f5";
2144 }; 3791 };
2145 } 3792 }
2146 3793
2147 { 3794 {
2148 name = "http_errors___http_errors_1.6.3.tgz"; 3795 name = "http_errors___http_errors_1.7.2.tgz";
2149 path = fetchurl { 3796 path = fetchurl {
2150 name = "http_errors___http_errors_1.6.3.tgz"; 3797 name = "http_errors___http_errors_1.7.2.tgz";
2151 url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz"; 3798 url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
2152 sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; 3799 sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
2153 }; 3800 };
2154 } 3801 }
2155 3802
@@ -2163,20 +3810,29 @@
2163 } 3810 }
2164 3811
2165 { 3812 {
2166 name = "http_parser_js___http_parser_js_0.5.0.tgz"; 3813 name = "http_parser_js___http_parser_js_0.4.10.tgz";
2167 path = fetchurl { 3814 path = fetchurl {
2168 name = "http_parser_js___http_parser_js_0.5.0.tgz"; 3815 name = "http_parser_js___http_parser_js_0.4.10.tgz";
2169 url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz"; 3816 url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
2170 sha1 = "d65edbede84349d0dc30320815a15d39cc3cbbd8"; 3817 sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
2171 }; 3818 };
2172 } 3819 }
2173 3820
2174 { 3821 {
2175 name = "http_proxy___http_proxy_1.17.0.tgz"; 3822 name = "http_proxy___http_proxy_1.18.0.tgz";
2176 path = fetchurl { 3823 path = fetchurl {
2177 name = "http_proxy___http_proxy_1.17.0.tgz"; 3824 name = "http_proxy___http_proxy_1.18.0.tgz";
2178 url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz"; 3825 url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz";
2179 sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a"; 3826 sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a";
3827 };
3828 }
3829
3830 {
3831 name = "http_signature___http_signature_0.10.1.tgz";
3832 path = fetchurl {
3833 name = "http_signature___http_signature_0.10.1.tgz";
3834 url = "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz";
3835 sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
2180 }; 3836 };
2181 } 3837 }
2182 3838
@@ -2190,20 +3846,20 @@
2190 } 3846 }
2191 3847
2192 { 3848 {
2193 name = "iconv_lite___iconv_lite_0.4.13.tgz"; 3849 name = "https_browserify___https_browserify_0.0.1.tgz";
2194 path = fetchurl { 3850 path = fetchurl {
2195 name = "iconv_lite___iconv_lite_0.4.13.tgz"; 3851 name = "https_browserify___https_browserify_0.0.1.tgz";
2196 url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz"; 3852 url = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz";
2197 sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2"; 3853 sha1 = "3f91365cabe60b77ed0ebba24b454e3e09d95a82";
2198 }; 3854 };
2199 } 3855 }
2200 3856
2201 { 3857 {
2202 name = "iconv_lite___iconv_lite_0.4.23.tgz"; 3858 name = "iconv_lite___iconv_lite_0.4.13.tgz";
2203 path = fetchurl { 3859 path = fetchurl {
2204 name = "iconv_lite___iconv_lite_0.4.23.tgz"; 3860 name = "iconv_lite___iconv_lite_0.4.13.tgz";
2205 url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz"; 3861 url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz";
2206 sha1 = "297871f63be507adcfbfca715d0cd0eed84e9a63"; 3862 sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2";
2207 }; 3863 };
2208 } 3864 }
2209 3865
@@ -2217,20 +3873,29 @@
2217 } 3873 }
2218 3874
2219 { 3875 {
2220 name = "ignore_walk___ignore_walk_3.0.1.tgz"; 3876 name = "ieee754___ieee754_1.1.13.tgz";
2221 path = fetchurl { 3877 path = fetchurl {
2222 name = "ignore_walk___ignore_walk_3.0.1.tgz"; 3878 name = "ieee754___ieee754_1.1.13.tgz";
2223 url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; 3879 url = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
2224 sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; 3880 sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
2225 }; 3881 };
2226 } 3882 }
2227 3883
2228 { 3884 {
2229 name = "in_publish___in_publish_2.0.0.tgz"; 3885 name = "ignore_walk___ignore_walk_3.0.3.tgz";
2230 path = fetchurl { 3886 path = fetchurl {
2231 name = "in_publish___in_publish_2.0.0.tgz"; 3887 name = "ignore_walk___ignore_walk_3.0.3.tgz";
2232 url = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz"; 3888 url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz";
2233 sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51"; 3889 sha1 = "017e2447184bfeade7c238e4aefdd1e8f95b1e37";
3890 };
3891 }
3892
3893 {
3894 name = "in_publish___in_publish_2.0.1.tgz";
3895 path = fetchurl {
3896 name = "in_publish___in_publish_2.0.1.tgz";
3897 url = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz";
3898 sha1 = "948b1a535c8030561cea522f73f78f4be357e00c";
2234 }; 3899 };
2235 } 3900 }
2236 3901
@@ -2253,6 +3918,15 @@
2253 } 3918 }
2254 3919
2255 { 3920 {
3921 name = "infinity_agent___infinity_agent_2.0.3.tgz";
3922 path = fetchurl {
3923 name = "infinity_agent___infinity_agent_2.0.3.tgz";
3924 url = "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz";
3925 sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
3926 };
3927 }
3928
3929 {
2256 name = "inflight___inflight_1.0.6.tgz"; 3930 name = "inflight___inflight_1.0.6.tgz";
2257 path = fetchurl { 3931 path = fetchurl {
2258 name = "inflight___inflight_1.0.6.tgz"; 3932 name = "inflight___inflight_1.0.6.tgz";
@@ -2271,6 +3945,24 @@
2271 } 3945 }
2272 3946
2273 { 3947 {
3948 name = "inherits___inherits_2.0.4.tgz";
3949 path = fetchurl {
3950 name = "inherits___inherits_2.0.4.tgz";
3951 url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
3952 sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
3953 };
3954 }
3955
3956 {
3957 name = "inherits___inherits_2.0.1.tgz";
3958 path = fetchurl {
3959 name = "inherits___inherits_2.0.1.tgz";
3960 url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
3961 sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
3962 };
3963 }
3964
3965 {
2274 name = "inherits___inherits_2.0.3.tgz"; 3966 name = "inherits___inherits_2.0.3.tgz";
2275 path = fetchurl { 3967 path = fetchurl {
2276 name = "inherits___inherits_2.0.3.tgz"; 3968 name = "inherits___inherits_2.0.3.tgz";
@@ -2289,11 +3981,65 @@
2289 } 3981 }
2290 3982
2291 { 3983 {
2292 name = "interpret___interpret_0.6.6.tgz"; 3984 name = "inline_source_map___inline_source_map_0.3.1.tgz";
2293 path = fetchurl { 3985 path = fetchurl {
2294 name = "interpret___interpret_0.6.6.tgz"; 3986 name = "inline_source_map___inline_source_map_0.3.1.tgz";
2295 url = "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz"; 3987 url = "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.3.1.tgz";
2296 sha1 = "fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"; 3988 sha1 = "a528b514e689fce90db3089e870d92f527acb5eb";
3989 };
3990 }
3991
3992 {
3993 name = "inquirer___inquirer_0.4.1.tgz";
3994 path = fetchurl {
3995 name = "inquirer___inquirer_0.4.1.tgz";
3996 url = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.4.1.tgz";
3997 sha1 = "6cf74eb1a347f97a1a207bea8ad1c987d0ff4b81";
3998 };
3999 }
4000
4001 {
4002 name = "inquirer___inquirer_0.5.1.tgz";
4003 path = fetchurl {
4004 name = "inquirer___inquirer_0.5.1.tgz";
4005 url = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.5.1.tgz";
4006 sha1 = "e9f2cd1ee172c7a32e054b78a03d4ddb0d7707f1";
4007 };
4008 }
4009
4010 {
4011 name = "insert_module_globals___insert_module_globals_6.0.0.tgz";
4012 path = fetchurl {
4013 name = "insert_module_globals___insert_module_globals_6.0.0.tgz";
4014 url = "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-6.0.0.tgz";
4015 sha1 = "ee8aeb9dee16819e33aa14588a558824af0c15dc";
4016 };
4017 }
4018
4019 {
4020 name = "insight___insight_0.3.1.tgz";
4021 path = fetchurl {
4022 name = "insight___insight_0.3.1.tgz";
4023 url = "https://registry.yarnpkg.com/insight/-/insight-0.3.1.tgz";
4024 sha1 = "1a14f32c06115c0850338c38a253d707b611d448";
4025 };
4026 }
4027
4028 {
4029 name = "interpret___interpret_1.2.0.tgz";
4030 path = fetchurl {
4031 name = "interpret___interpret_1.2.0.tgz";
4032 url = "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz";
4033 sha1 = "d5061a6224be58e8083985f5014d844359576296";
4034 };
4035 }
4036
4037 {
4038 name = "intersect___intersect_0.0.3.tgz";
4039 path = fetchurl {
4040 name = "intersect___intersect_0.0.3.tgz";
4041 url = "https://registry.yarnpkg.com/intersect/-/intersect-0.0.3.tgz";
4042 sha1 = "c1a4a5e5eac6ede4af7504cc07e0ada7bc9f4920";
2297 }; 4043 };
2298 } 4044 }
2299 4045
@@ -2415,6 +4161,15 @@
2415 } 4161 }
2416 4162
2417 { 4163 {
4164 name = "is_expression___is_expression_3.0.0.tgz";
4165 path = fetchurl {
4166 name = "is_expression___is_expression_3.0.0.tgz";
4167 url = "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz";
4168 sha1 = "39acaa6be7fd1f3471dc42c7416e61c24317ac9f";
4169 };
4170 }
4171
4172 {
2418 name = "is_extendable___is_extendable_0.1.1.tgz"; 4173 name = "is_extendable___is_extendable_0.1.1.tgz";
2419 path = fetchurl { 4174 path = fetchurl {
2420 name = "is_extendable___is_extendable_0.1.1.tgz"; 4175 name = "is_extendable___is_extendable_0.1.1.tgz";
@@ -2451,11 +4206,11 @@
2451 } 4206 }
2452 4207
2453 { 4208 {
2454 name = "is_finite___is_finite_1.0.2.tgz"; 4209 name = "is_finite___is_finite_1.1.0.tgz";
2455 path = fetchurl { 4210 path = fetchurl {
2456 name = "is_finite___is_finite_1.0.2.tgz"; 4211 name = "is_finite___is_finite_1.1.0.tgz";
2457 url = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz"; 4212 url = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz";
2458 sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa"; 4213 sha1 = "904135c77fb42c0641d6aa1bcdbc4daa8da082f3";
2459 }; 4214 };
2460 } 4215 }
2461 4216
@@ -2496,6 +4251,15 @@
2496 } 4251 }
2497 4252
2498 { 4253 {
4254 name = "is_npm___is_npm_1.0.0.tgz";
4255 path = fetchurl {
4256 name = "is_npm___is_npm_1.0.0.tgz";
4257 url = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz";
4258 sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
4259 };
4260 }
4261
4262 {
2499 name = "is_number___is_number_0.1.1.tgz"; 4263 name = "is_number___is_number_0.1.1.tgz";
2500 path = fetchurl { 4264 path = fetchurl {
2501 name = "is_number___is_number_0.1.1.tgz"; 4265 name = "is_number___is_number_0.1.1.tgz";
@@ -2559,6 +4323,33 @@
2559 } 4323 }
2560 4324
2561 { 4325 {
4326 name = "is_promise___is_promise_2.1.0.tgz";
4327 path = fetchurl {
4328 name = "is_promise___is_promise_2.1.0.tgz";
4329 url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
4330 sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
4331 };
4332 }
4333
4334 {
4335 name = "is_redirect___is_redirect_1.0.0.tgz";
4336 path = fetchurl {
4337 name = "is_redirect___is_redirect_1.0.0.tgz";
4338 url = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz";
4339 sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
4340 };
4341 }
4342
4343 {
4344 name = "is_regex___is_regex_1.0.5.tgz";
4345 path = fetchurl {
4346 name = "is_regex___is_regex_1.0.5.tgz";
4347 url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz";
4348 sha1 = "39d589a358bf18967f726967120b8fc1aed74eae";
4349 };
4350 }
4351
4352 {
2562 name = "is_relative___is_relative_1.0.0.tgz"; 4353 name = "is_relative___is_relative_1.0.0.tgz";
2563 path = fetchurl { 4354 path = fetchurl {
2564 name = "is_relative___is_relative_1.0.0.tgz"; 4355 name = "is_relative___is_relative_1.0.0.tgz";
@@ -2568,6 +4359,24 @@
2568 } 4359 }
2569 4360
2570 { 4361 {
4362 name = "is_root___is_root_0.1.0.tgz";
4363 path = fetchurl {
4364 name = "is_root___is_root_0.1.0.tgz";
4365 url = "https://registry.yarnpkg.com/is-root/-/is-root-0.1.0.tgz";
4366 sha1 = "825e394ab593df2d73c5d0092fce507270b53dcb";
4367 };
4368 }
4369
4370 {
4371 name = "is_stream___is_stream_1.1.0.tgz";
4372 path = fetchurl {
4373 name = "is_stream___is_stream_1.1.0.tgz";
4374 url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
4375 sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
4376 };
4377 }
4378
4379 {
2571 name = "is_typedarray___is_typedarray_1.0.0.tgz"; 4380 name = "is_typedarray___is_typedarray_1.0.0.tgz";
2572 path = fetchurl { 4381 path = fetchurl {
2573 name = "is_typedarray___is_typedarray_1.0.0.tgz"; 4382 name = "is_typedarray___is_typedarray_1.0.0.tgz";
@@ -2685,6 +4494,15 @@
2685 } 4494 }
2686 4495
2687 { 4496 {
4497 name = "istextorbinary___istextorbinary_1.0.2.tgz";
4498 path = fetchurl {
4499 name = "istextorbinary___istextorbinary_1.0.2.tgz";
4500 url = "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-1.0.2.tgz";
4501 sha1 = "ace19354d1a9a0173efeb1084ce0f87b0ad7decf";
4502 };
4503 }
4504
4505 {
2688 name = "jasmine_core___jasmine_core_2.99.1.tgz"; 4506 name = "jasmine_core___jasmine_core_2.99.1.tgz";
2689 path = fetchurl { 4507 path = fetchurl {
2690 name = "jasmine_core___jasmine_core_2.99.1.tgz"; 4508 name = "jasmine_core___jasmine_core_2.99.1.tgz";
@@ -2694,20 +4512,47 @@
2694 } 4512 }
2695 4513
2696 { 4514 {
2697 name = "js_base64___js_base64_2.5.1.tgz"; 4515 name = "js_base64___js_base64_2.5.2.tgz";
4516 path = fetchurl {
4517 name = "js_base64___js_base64_2.5.2.tgz";
4518 url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz";
4519 sha1 = "313b6274dda718f714d00b3330bbae6e38e90209";
4520 };
4521 }
4522
4523 {
4524 name = "js_string_escape___js_string_escape_1.0.1.tgz";
4525 path = fetchurl {
4526 name = "js_string_escape___js_string_escape_1.0.1.tgz";
4527 url = "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz";
4528 sha1 = "e2625badbc0d67c7533e9edc1068c587ae4137ef";
4529 };
4530 }
4531
4532 {
4533 name = "js_stringify___js_stringify_1.0.2.tgz";
2698 path = fetchurl { 4534 path = fetchurl {
2699 name = "js_base64___js_base64_2.5.1.tgz"; 4535 name = "js_stringify___js_stringify_1.0.2.tgz";
2700 url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz"; 4536 url = "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz";
2701 sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121"; 4537 sha1 = "1736fddfd9724f28a3682adc6230ae7e4e9679db";
2702 }; 4538 };
2703 } 4539 }
2704 4540
2705 { 4541 {
2706 name = "js_yaml___js_yaml_3.12.2.tgz"; 4542 name = "js_yaml___js_yaml_3.13.1.tgz";
2707 path = fetchurl { 4543 path = fetchurl {
2708 name = "js_yaml___js_yaml_3.12.2.tgz"; 4544 name = "js_yaml___js_yaml_3.13.1.tgz";
2709 url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.2.tgz"; 4545 url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
2710 sha1 = "ef1d067c5a9d9cb65bd72f285b5d8105c77f14fc"; 4546 sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
4547 };
4548 }
4549
4550 {
4551 name = "js_yaml___js_yaml_3.0.2.tgz";
4552 path = fetchurl {
4553 name = "js_yaml___js_yaml_3.0.2.tgz";
4554 url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.0.2.tgz";
4555 sha1 = "9937865f8e897a5e894e73c2c5cf2e89b32eb771";
2711 }; 4556 };
2712 } 4557 }
2713 4558
@@ -2757,6 +4602,24 @@
2757 } 4602 }
2758 4603
2759 { 4604 {
4605 name = "jsonify___jsonify_0.0.0.tgz";
4606 path = fetchurl {
4607 name = "jsonify___jsonify_0.0.0.tgz";
4608 url = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
4609 sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
4610 };
4611 }
4612
4613 {
4614 name = "jsonparse___jsonparse_0.0.5.tgz";
4615 path = fetchurl {
4616 name = "jsonparse___jsonparse_0.0.5.tgz";
4617 url = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz";
4618 sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64";
4619 };
4620 }
4621
4622 {
2760 name = "jsprim___jsprim_1.4.1.tgz"; 4623 name = "jsprim___jsprim_1.4.1.tgz";
2761 path = fetchurl { 4624 path = fetchurl {
2762 name = "jsprim___jsprim_1.4.1.tgz"; 4625 name = "jsprim___jsprim_1.4.1.tgz";
@@ -2766,6 +4629,24 @@
2766 } 4629 }
2767 4630
2768 { 4631 {
4632 name = "jstransformer___jstransformer_1.0.0.tgz";
4633 path = fetchurl {
4634 name = "jstransformer___jstransformer_1.0.0.tgz";
4635 url = "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz";
4636 sha1 = "ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3";
4637 };
4638 }
4639
4640 {
4641 name = "junk___junk_0.3.0.tgz";
4642 path = fetchurl {
4643 name = "junk___junk_0.3.0.tgz";
4644 url = "https://registry.yarnpkg.com/junk/-/junk-0.3.0.tgz";
4645 sha1 = "6c89c636f6e99898d8efbfc50430db40be71e10c";
4646 };
4647 }
4648
4649 {
2769 name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz"; 4650 name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz";
2770 path = fetchurl { 4651 path = fetchurl {
2771 name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz"; 4652 name = "karma_chrome_launcher___karma_chrome_launcher_2.1.1.tgz";
@@ -2847,11 +4728,38 @@
2847 } 4728 }
2848 4729
2849 { 4730 {
2850 name = "kind_of___kind_of_6.0.2.tgz"; 4731 name = "kind_of___kind_of_6.0.3.tgz";
4732 path = fetchurl {
4733 name = "kind_of___kind_of_6.0.3.tgz";
4734 url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
4735 sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
4736 };
4737 }
4738
4739 {
4740 name = "latest_version___latest_version_1.0.1.tgz";
4741 path = fetchurl {
4742 name = "latest_version___latest_version_1.0.1.tgz";
4743 url = "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz";
4744 sha1 = "72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb";
4745 };
4746 }
4747
4748 {
4749 name = "lazy_cache___lazy_cache_1.0.4.tgz";
4750 path = fetchurl {
4751 name = "lazy_cache___lazy_cache_1.0.4.tgz";
4752 url = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
4753 sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
4754 };
4755 }
4756
4757 {
4758 name = "lazypipe___lazypipe_1.0.2.tgz";
2851 path = fetchurl { 4759 path = fetchurl {
2852 name = "kind_of___kind_of_6.0.2.tgz"; 4760 name = "lazypipe___lazypipe_1.0.2.tgz";
2853 url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; 4761 url = "https://registry.yarnpkg.com/lazypipe/-/lazypipe-1.0.2.tgz";
2854 sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; 4762 sha1 = "b66f64ed7fd8b04869f1f1bcb795dbbaa80e418c";
2855 }; 4763 };
2856 } 4764 }
2857 4765
@@ -2865,6 +4773,15 @@
2865 } 4773 }
2866 4774
2867 { 4775 {
4776 name = "less___less_1.7.5.tgz";
4777 path = fetchurl {
4778 name = "less___less_1.7.5.tgz";
4779 url = "https://registry.yarnpkg.com/less/-/less-1.7.5.tgz";
4780 sha1 = "4f220cf7288a27eaca739df6e4808a2d4c0d5756";
4781 };
4782 }
4783
4784 {
2868 name = "levn___levn_0.3.0.tgz"; 4785 name = "levn___levn_0.3.0.tgz";
2869 path = fetchurl { 4786 path = fetchurl {
2870 name = "levn___levn_0.3.0.tgz"; 4787 name = "levn___levn_0.3.0.tgz";
@@ -2874,6 +4791,15 @@
2874 } 4791 }
2875 4792
2876 { 4793 {
4794 name = "lexical_scope___lexical_scope_1.1.1.tgz";
4795 path = fetchurl {
4796 name = "lexical_scope___lexical_scope_1.1.1.tgz";
4797 url = "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.1.1.tgz";
4798 sha1 = "debac1067435f1359d90fcfd9e94bcb2ee47b2bf";
4799 };
4800 }
4801
4802 {
2877 name = "liftoff___liftoff_2.5.0.tgz"; 4803 name = "liftoff___liftoff_2.5.0.tgz";
2878 path = fetchurl { 4804 path = fetchurl {
2879 name = "liftoff___liftoff_2.5.0.tgz"; 4805 name = "liftoff___liftoff_2.5.0.tgz";
@@ -2901,6 +4827,15 @@
2901 } 4827 }
2902 4828
2903 { 4829 {
4830 name = "lockfile___lockfile_0.4.3.tgz";
4831 path = fetchurl {
4832 name = "lockfile___lockfile_0.4.3.tgz";
4833 url = "https://registry.yarnpkg.com/lockfile/-/lockfile-0.4.3.tgz";
4834 sha1 = "79b965ee9b32d9dd24b59cf81205e6dcb6d3b224";
4835 };
4836 }
4837
4838 {
2904 name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz"; 4839 name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz";
2905 path = fetchurl { 4840 path = fetchurl {
2906 name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz"; 4841 name = "lodash._baseassign___lodash._baseassign_3.2.0.tgz";
@@ -2955,6 +4890,24 @@
2955 } 4890 }
2956 4891
2957 { 4892 {
4893 name = "lodash._escapehtmlchar___lodash._escapehtmlchar_2.4.1.tgz";
4894 path = fetchurl {
4895 name = "lodash._escapehtmlchar___lodash._escapehtmlchar_2.4.1.tgz";
4896 url = "https://registry.yarnpkg.com/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz";
4897 sha1 = "df67c3bb6b7e8e1e831ab48bfa0795b92afe899d";
4898 };
4899 }
4900
4901 {
4902 name = "lodash._escapestringchar___lodash._escapestringchar_2.4.1.tgz";
4903 path = fetchurl {
4904 name = "lodash._escapestringchar___lodash._escapestringchar_2.4.1.tgz";
4905 url = "https://registry.yarnpkg.com/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz";
4906 sha1 = "ecfe22618a2ade50bfeea43937e51df66f0edb72";
4907 };
4908 }
4909
4910 {
2958 name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; 4911 name = "lodash._getnative___lodash._getnative_3.9.1.tgz";
2959 path = fetchurl { 4912 path = fetchurl {
2960 name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; 4913 name = "lodash._getnative___lodash._getnative_3.9.1.tgz";
@@ -2964,6 +4917,15 @@
2964 } 4917 }
2965 4918
2966 { 4919 {
4920 name = "lodash._htmlescapes___lodash._htmlescapes_2.4.1.tgz";
4921 path = fetchurl {
4922 name = "lodash._htmlescapes___lodash._htmlescapes_2.4.1.tgz";
4923 url = "https://registry.yarnpkg.com/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz";
4924 sha1 = "32d14bf0844b6de6f8b62a051b4f67c228b624cb";
4925 };
4926 }
4927
4928 {
2967 name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; 4929 name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz";
2968 path = fetchurl { 4930 path = fetchurl {
2969 name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; 4931 name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz";
@@ -2973,6 +4935,24 @@
2973 } 4935 }
2974 4936
2975 { 4937 {
4938 name = "lodash._isnative___lodash._isnative_2.4.1.tgz";
4939 path = fetchurl {
4940 name = "lodash._isnative___lodash._isnative_2.4.1.tgz";
4941 url = "https://registry.yarnpkg.com/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
4942 sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
4943 };
4944 }
4945
4946 {
4947 name = "lodash._objecttypes___lodash._objecttypes_2.4.1.tgz";
4948 path = fetchurl {
4949 name = "lodash._objecttypes___lodash._objecttypes_2.4.1.tgz";
4950 url = "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
4951 sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
4952 };
4953 }
4954
4955 {
2976 name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; 4956 name = "lodash._reescape___lodash._reescape_3.0.0.tgz";
2977 path = fetchurl { 4957 path = fetchurl {
2978 name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; 4958 name = "lodash._reescape___lodash._reescape_3.0.0.tgz";
@@ -2991,6 +4971,15 @@
2991 } 4971 }
2992 4972
2993 { 4973 {
4974 name = "lodash._reinterpolate___lodash._reinterpolate_2.4.1.tgz";
4975 path = fetchurl {
4976 name = "lodash._reinterpolate___lodash._reinterpolate_2.4.1.tgz";
4977 url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz";
4978 sha1 = "4f1227aa5a8711fc632f5b07a1f4607aab8b3222";
4979 };
4980 }
4981
4982 {
2994 name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; 4983 name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
2995 path = fetchurl { 4984 path = fetchurl {
2996 name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; 4985 name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
@@ -3000,6 +4989,15 @@
3000 } 4989 }
3001 4990
3002 { 4991 {
4992 name = "lodash._reunescapedhtml___lodash._reunescapedhtml_2.4.1.tgz";
4993 path = fetchurl {
4994 name = "lodash._reunescapedhtml___lodash._reunescapedhtml_2.4.1.tgz";
4995 url = "https://registry.yarnpkg.com/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz";
4996 sha1 = "747c4fc40103eb3bb8a0976e571f7a2659e93ba7";
4997 };
4998 }
4999
5000 {
3003 name = "lodash._root___lodash._root_3.0.1.tgz"; 5001 name = "lodash._root___lodash._root_3.0.1.tgz";
3004 path = fetchurl { 5002 path = fetchurl {
3005 name = "lodash._root___lodash._root_3.0.1.tgz"; 5003 name = "lodash._root___lodash._root_3.0.1.tgz";
@@ -3009,11 +5007,11 @@
3009 } 5007 }
3010 5008
3011 { 5009 {
3012 name = "lodash.assign___lodash.assign_3.2.0.tgz"; 5010 name = "lodash._shimkeys___lodash._shimkeys_2.4.1.tgz";
3013 path = fetchurl { 5011 path = fetchurl {
3014 name = "lodash.assign___lodash.assign_3.2.0.tgz"; 5012 name = "lodash._shimkeys___lodash._shimkeys_2.4.1.tgz";
3015 url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz"; 5013 url = "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz";
3016 sha1 = "3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"; 5014 sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203";
3017 }; 5015 };
3018 } 5016 }
3019 5017
@@ -3027,6 +5025,15 @@
3027 } 5025 }
3028 5026
3029 { 5027 {
5028 name = "lodash.assign___lodash.assign_3.2.0.tgz";
5029 path = fetchurl {
5030 name = "lodash.assign___lodash.assign_3.2.0.tgz";
5031 url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz";
5032 sha1 = "3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa";
5033 };
5034 }
5035
5036 {
3030 name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; 5037 name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
3031 path = fetchurl { 5038 path = fetchurl {
3032 name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz"; 5039 name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
@@ -3036,6 +5043,33 @@
3036 } 5043 }
3037 5044
3038 { 5045 {
5046 name = "lodash.debounce___lodash.debounce_2.4.1.tgz";
5047 path = fetchurl {
5048 name = "lodash.debounce___lodash.debounce_2.4.1.tgz";
5049 url = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
5050 sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
5051 };
5052 }
5053
5054 {
5055 name = "lodash.defaults___lodash.defaults_2.4.1.tgz";
5056 path = fetchurl {
5057 name = "lodash.defaults___lodash.defaults_2.4.1.tgz";
5058 url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz";
5059 sha1 = "a7e8885f05e68851144b6e12a8f3678026bc4c54";
5060 };
5061 }
5062
5063 {
5064 name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
5065 path = fetchurl {
5066 name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
5067 url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
5068 sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
5069 };
5070 }
5071
5072 {
3039 name = "lodash.escape___lodash.escape_3.2.0.tgz"; 5073 name = "lodash.escape___lodash.escape_3.2.0.tgz";
3040 path = fetchurl { 5074 path = fetchurl {
3041 name = "lodash.escape___lodash.escape_3.2.0.tgz"; 5075 name = "lodash.escape___lodash.escape_3.2.0.tgz";
@@ -3045,6 +5079,15 @@
3045 } 5079 }
3046 5080
3047 { 5081 {
5082 name = "lodash.escape___lodash.escape_2.4.1.tgz";
5083 path = fetchurl {
5084 name = "lodash.escape___lodash.escape_2.4.1.tgz";
5085 url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-2.4.1.tgz";
5086 sha1 = "2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4";
5087 };
5088 }
5089
5090 {
3048 name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; 5091 name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz";
3049 path = fetchurl { 5092 path = fetchurl {
3050 name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; 5093 name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz";
@@ -3063,6 +5106,24 @@
3063 } 5106 }
3064 5107
3065 { 5108 {
5109 name = "lodash.isfunction___lodash.isfunction_2.4.1.tgz";
5110 path = fetchurl {
5111 name = "lodash.isfunction___lodash.isfunction_2.4.1.tgz";
5112 url = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz";
5113 sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1";
5114 };
5115 }
5116
5117 {
5118 name = "lodash.isobject___lodash.isobject_2.4.1.tgz";
5119 path = fetchurl {
5120 name = "lodash.isobject___lodash.isobject_2.4.1.tgz";
5121 url = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
5122 sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
5123 };
5124 }
5125
5126 {
3066 name = "lodash.keys___lodash.keys_3.1.2.tgz"; 5127 name = "lodash.keys___lodash.keys_3.1.2.tgz";
3067 path = fetchurl { 5128 path = fetchurl {
3068 name = "lodash.keys___lodash.keys_3.1.2.tgz"; 5129 name = "lodash.keys___lodash.keys_3.1.2.tgz";
@@ -3072,11 +5133,20 @@
3072 } 5133 }
3073 5134
3074 { 5135 {
3075 name = "lodash.mergewith___lodash.mergewith_4.6.1.tgz"; 5136 name = "lodash.keys___lodash.keys_2.4.1.tgz";
3076 path = fetchurl { 5137 path = fetchurl {
3077 name = "lodash.mergewith___lodash.mergewith_4.6.1.tgz"; 5138 name = "lodash.keys___lodash.keys_2.4.1.tgz";
3078 url = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz"; 5139 url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.4.1.tgz";
3079 sha1 = "639057e726c3afbdb3e7d42741caa8d6e4335927"; 5140 sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727";
5141 };
5142 }
5143
5144 {
5145 name = "lodash.now___lodash.now_2.4.1.tgz";
5146 path = fetchurl {
5147 name = "lodash.now___lodash.now_2.4.1.tgz";
5148 url = "https://registry.yarnpkg.com/lodash.now/-/lodash.now-2.4.1.tgz";
5149 sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
3080 }; 5150 };
3081 } 5151 }
3082 5152
@@ -3090,6 +5160,15 @@
3090 } 5160 }
3091 5161
3092 { 5162 {
5163 name = "lodash.template___lodash.template_2.4.1.tgz";
5164 path = fetchurl {
5165 name = "lodash.template___lodash.template_2.4.1.tgz";
5166 url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-2.4.1.tgz";
5167 sha1 = "9e611007edf629129a974ab3c48b817b3e1cf20d";
5168 };
5169 }
5170
5171 {
3093 name = "lodash.template___lodash.template_3.6.2.tgz"; 5172 name = "lodash.template___lodash.template_3.6.2.tgz";
3094 path = fetchurl { 5173 path = fetchurl {
3095 name = "lodash.template___lodash.template_3.6.2.tgz"; 5174 name = "lodash.template___lodash.template_3.6.2.tgz";
@@ -3099,6 +5178,15 @@
3099 } 5178 }
3100 5179
3101 { 5180 {
5181 name = "lodash.template___lodash.template_4.5.0.tgz";
5182 path = fetchurl {
5183 name = "lodash.template___lodash.template_4.5.0.tgz";
5184 url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz";
5185 sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab";
5186 };
5187 }
5188
5189 {
3102 name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; 5190 name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz";
3103 path = fetchurl { 5191 path = fetchurl {
3104 name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; 5192 name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz";
@@ -3108,6 +5196,42 @@
3108 } 5196 }
3109 5197
3110 { 5198 {
5199 name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
5200 path = fetchurl {
5201 name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
5202 url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
5203 sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33";
5204 };
5205 }
5206
5207 {
5208 name = "lodash.templatesettings___lodash.templatesettings_2.4.1.tgz";
5209 path = fetchurl {
5210 name = "lodash.templatesettings___lodash.templatesettings_2.4.1.tgz";
5211 url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz";
5212 sha1 = "ea76c75d11eb86d4dbe89a83893bb861929ac699";
5213 };
5214 }
5215
5216 {
5217 name = "lodash.values___lodash.values_2.4.1.tgz";
5218 path = fetchurl {
5219 name = "lodash.values___lodash.values_2.4.1.tgz";
5220 url = "https://registry.yarnpkg.com/lodash.values/-/lodash.values-2.4.1.tgz";
5221 sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
5222 };
5223 }
5224
5225 {
5226 name = "lodash___lodash_2.4.2.tgz";
5227 path = fetchurl {
5228 name = "lodash___lodash_2.4.2.tgz";
5229 url = "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz";
5230 sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
5231 };
5232 }
5233
5234 {
3111 name = "lodash___lodash_3.10.1.tgz"; 5235 name = "lodash___lodash_3.10.1.tgz";
3112 path = fetchurl { 5236 path = fetchurl {
3113 name = "lodash___lodash_3.10.1.tgz"; 5237 name = "lodash___lodash_3.10.1.tgz";
@@ -3117,11 +5241,11 @@
3117 } 5241 }
3118 5242
3119 { 5243 {
3120 name = "lodash___lodash_4.17.11.tgz"; 5244 name = "lodash___lodash_4.17.15.tgz";
3121 path = fetchurl { 5245 path = fetchurl {
3122 name = "lodash___lodash_4.17.11.tgz"; 5246 name = "lodash___lodash_4.17.15.tgz";
3123 url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz"; 5247 url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
3124 sha1 = "b39ea6229ef607ecd89e2c8df12536891cac9b8d"; 5248 sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
3125 }; 5249 };
3126 } 5250 }
3127 5251
@@ -3144,6 +5268,15 @@
3144 } 5268 }
3145 5269
3146 { 5270 {
5271 name = "longest___longest_1.0.1.tgz";
5272 path = fetchurl {
5273 name = "longest___longest_1.0.1.tgz";
5274 url = "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz";
5275 sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
5276 };
5277 }
5278
5279 {
3147 name = "loophole___loophole_1.1.0.tgz"; 5280 name = "loophole___loophole_1.1.0.tgz";
3148 path = fetchurl { 5281 path = fetchurl {
3149 name = "loophole___loophole_1.1.0.tgz"; 5282 name = "loophole___loophole_1.1.0.tgz";
@@ -3162,6 +5295,15 @@
3162 } 5295 }
3163 5296
3164 { 5297 {
5298 name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
5299 path = fetchurl {
5300 name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
5301 url = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
5302 sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f";
5303 };
5304 }
5305
5306 {
3165 name = "lru_cache___lru_cache_2.7.3.tgz"; 5307 name = "lru_cache___lru_cache_2.7.3.tgz";
3166 path = fetchurl { 5308 path = fetchurl {
3167 name = "lru_cache___lru_cache_2.7.3.tgz"; 5309 name = "lru_cache___lru_cache_2.7.3.tgz";
@@ -3180,6 +5322,33 @@
3180 } 5322 }
3181 5323
3182 { 5324 {
5325 name = "lru_cache___lru_cache_2.3.1.tgz";
5326 path = fetchurl {
5327 name = "lru_cache___lru_cache_2.3.1.tgz";
5328 url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.3.1.tgz";
5329 sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
5330 };
5331 }
5332
5333 {
5334 name = "lru_cache___lru_cache_2.5.2.tgz";
5335 path = fetchurl {
5336 name = "lru_cache___lru_cache_2.5.2.tgz";
5337 url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.5.2.tgz";
5338 sha1 = "1fddad938aae1263ce138680be1b3f591c0ab41c";
5339 };
5340 }
5341
5342 {
5343 name = "lru_queue___lru_queue_0.1.0.tgz";
5344 path = fetchurl {
5345 name = "lru_queue___lru_queue_0.1.0.tgz";
5346 url = "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz";
5347 sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
5348 };
5349 }
5350
5351 {
3183 name = "make_iterator___make_iterator_1.0.1.tgz"; 5352 name = "make_iterator___make_iterator_1.0.1.tgz";
3184 path = fetchurl { 5353 path = fetchurl {
3185 name = "make_iterator___make_iterator_1.0.1.tgz"; 5354 name = "make_iterator___make_iterator_1.0.1.tgz";
@@ -3216,6 +5385,15 @@
3216 } 5385 }
3217 5386
3218 { 5387 {
5388 name = "map_stream___map_stream_0.1.0.tgz";
5389 path = fetchurl {
5390 name = "map_stream___map_stream_0.1.0.tgz";
5391 url = "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz";
5392 sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
5393 };
5394 }
5395
5396 {
3219 name = "map_visit___map_visit_1.0.0.tgz"; 5397 name = "map_visit___map_visit_1.0.0.tgz";
3220 path = fetchurl { 5398 path = fetchurl {
3221 name = "map_visit___map_visit_1.0.0.tgz"; 5399 name = "map_visit___map_visit_1.0.0.tgz";
@@ -3243,6 +5421,24 @@
3243 } 5421 }
3244 5422
3245 { 5423 {
5424 name = "memoizee___memoizee_0.2.6.tgz";
5425 path = fetchurl {
5426 name = "memoizee___memoizee_0.2.6.tgz";
5427 url = "https://registry.yarnpkg.com/memoizee/-/memoizee-0.2.6.tgz";
5428 sha1 = "bb45a7ad02530082f1612671dab35219cd2e0741";
5429 };
5430 }
5431
5432 {
5433 name = "memoizee___memoizee_0.3.10.tgz";
5434 path = fetchurl {
5435 name = "memoizee___memoizee_0.3.10.tgz";
5436 url = "https://registry.yarnpkg.com/memoizee/-/memoizee-0.3.10.tgz";
5437 sha1 = "4eca0d8aed39ec9d017f4c5c2f2f6432f42e5c8f";
5438 };
5439 }
5440
5441 {
3246 name = "meow___meow_3.7.0.tgz"; 5442 name = "meow___meow_3.7.0.tgz";
3247 path = fetchurl { 5443 path = fetchurl {
3248 name = "meow___meow_3.7.0.tgz"; 5444 name = "meow___meow_3.7.0.tgz";
@@ -3252,6 +5448,24 @@
3252 } 5448 }
3253 5449
3254 { 5450 {
5451 name = "merge_stream___merge_stream_1.0.1.tgz";
5452 path = fetchurl {
5453 name = "merge_stream___merge_stream_1.0.1.tgz";
5454 url = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz";
5455 sha1 = "4041202d508a342ba00174008df0c251b8c135e1";
5456 };
5457 }
5458
5459 {
5460 name = "merge___merge_1.2.1.tgz";
5461 path = fetchurl {
5462 name = "merge___merge_1.2.1.tgz";
5463 url = "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz";
5464 sha1 = "38bebf80c3220a8a487b6fcfb3941bb11720c145";
5465 };
5466 }
5467
5468 {
3255 name = "micromatch___micromatch_2.3.11.tgz"; 5469 name = "micromatch___micromatch_2.3.11.tgz";
3256 path = fetchurl { 5470 path = fetchurl {
3257 name = "micromatch___micromatch_2.3.11.tgz"; 5471 name = "micromatch___micromatch_2.3.11.tgz";
@@ -3270,20 +5484,56 @@
3270 } 5484 }
3271 5485
3272 { 5486 {
3273 name = "mime_db___mime_db_1.38.0.tgz"; 5487 name = "mime_db___mime_db_1.43.0.tgz";
3274 path = fetchurl { 5488 path = fetchurl {
3275 name = "mime_db___mime_db_1.38.0.tgz"; 5489 name = "mime_db___mime_db_1.43.0.tgz";
3276 url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz"; 5490 url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz";
3277 sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad"; 5491 sha1 = "0a12e0502650e473d735535050e7c8f4eb4fae58";
3278 }; 5492 };
3279 } 5493 }
3280 5494
3281 { 5495 {
3282 name = "mime_types___mime_types_2.1.22.tgz"; 5496 name = "mime_db___mime_db_1.12.0.tgz";
3283 path = fetchurl { 5497 path = fetchurl {
3284 name = "mime_types___mime_types_2.1.22.tgz"; 5498 name = "mime_db___mime_db_1.12.0.tgz";
3285 url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz"; 5499 url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz";
3286 sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd"; 5500 sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
5501 };
5502 }
5503
5504 {
5505 name = "mime_types___mime_types_2.1.26.tgz";
5506 path = fetchurl {
5507 name = "mime_types___mime_types_2.1.26.tgz";
5508 url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz";
5509 sha1 = "9c921fc09b7e149a65dfdc0da4d20997200b0a06";
5510 };
5511 }
5512
5513 {
5514 name = "mime_types___mime_types_1.0.2.tgz";
5515 path = fetchurl {
5516 name = "mime_types___mime_types_1.0.2.tgz";
5517 url = "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz";
5518 sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
5519 };
5520 }
5521
5522 {
5523 name = "mime_types___mime_types_2.0.14.tgz";
5524 path = fetchurl {
5525 name = "mime_types___mime_types_2.0.14.tgz";
5526 url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz";
5527 sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
5528 };
5529 }
5530
5531 {
5532 name = "mime___mime_1.3.4.tgz";
5533 path = fetchurl {
5534 name = "mime___mime_1.3.4.tgz";
5535 url = "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz";
5536 sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
3287 }; 5537 };
3288 } 5538 }
3289 5539
@@ -3297,6 +5547,15 @@
3297 } 5547 }
3298 5548
3299 { 5549 {
5550 name = "mime___mime_1.2.11.tgz";
5551 path = fetchurl {
5552 name = "mime___mime_1.2.11.tgz";
5553 url = "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz";
5554 sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
5555 };
5556 }
5557
5558 {
3300 name = "mini_lr___mini_lr_0.1.9.tgz"; 5559 name = "mini_lr___mini_lr_0.1.9.tgz";
3301 path = fetchurl { 5560 path = fetchurl {
3302 name = "mini_lr___mini_lr_0.1.9.tgz"; 5561 name = "mini_lr___mini_lr_0.1.9.tgz";
@@ -3306,20 +5565,20 @@
3306 } 5565 }
3307 5566
3308 { 5567 {
3309 name = "minimatch___minimatch_3.0.4.tgz"; 5568 name = "minimatch___minimatch_0.3.0.tgz";
3310 path = fetchurl { 5569 path = fetchurl {
3311 name = "minimatch___minimatch_3.0.4.tgz"; 5570 name = "minimatch___minimatch_0.3.0.tgz";
3312 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; 5571 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz";
3313 sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; 5572 sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
3314 }; 5573 };
3315 } 5574 }
3316 5575
3317 { 5576 {
3318 name = "minimatch___minimatch_2.0.10.tgz"; 5577 name = "minimatch___minimatch_3.0.4.tgz";
3319 path = fetchurl { 5578 path = fetchurl {
3320 name = "minimatch___minimatch_2.0.10.tgz"; 5579 name = "minimatch___minimatch_3.0.4.tgz";
3321 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz"; 5580 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
3322 sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"; 5581 sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
3323 }; 5582 };
3324 } 5583 }
3325 5584
@@ -3333,20 +5592,38 @@
3333 } 5592 }
3334 5593
3335 { 5594 {
3336 name = "minimist___minimist_0.0.8.tgz"; 5595 name = "minimatch___minimatch_1.0.0.tgz";
3337 path = fetchurl { 5596 path = fetchurl {
3338 name = "minimist___minimist_0.0.8.tgz"; 5597 name = "minimatch___minimatch_1.0.0.tgz";
3339 url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; 5598 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz";
3340 sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; 5599 sha1 = "e0dd2120b49e1b724ce8d714c520822a9438576d";
3341 }; 5600 };
3342 } 5601 }
3343 5602
3344 { 5603 {
3345 name = "minimist___minimist_1.2.0.tgz"; 5604 name = "minimatch___minimatch_2.0.10.tgz";
3346 path = fetchurl { 5605 path = fetchurl {
3347 name = "minimist___minimist_1.2.0.tgz"; 5606 name = "minimatch___minimatch_2.0.10.tgz";
3348 url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; 5607 url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz";
3349 sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; 5608 sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
5609 };
5610 }
5611
5612 {
5613 name = "minimist___minimist_0.2.1.tgz";
5614 path = fetchurl {
5615 name = "minimist___minimist_0.2.1.tgz";
5616 url = "https://registry.yarnpkg.com/minimist/-/minimist-0.2.1.tgz";
5617 sha1 = "827ba4e7593464e7c221e8c5bed930904ee2c455";
5618 };
5619 }
5620
5621 {
5622 name = "minimist___minimist_1.2.5.tgz";
5623 path = fetchurl {
5624 name = "minimist___minimist_1.2.5.tgz";
5625 url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
5626 sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
3350 }; 5627 };
3351 } 5628 }
3352 5629
@@ -3360,38 +5637,74 @@
3360 } 5637 }
3361 5638
3362 { 5639 {
3363 name = "minipass___minipass_2.3.5.tgz"; 5640 name = "minipass___minipass_2.9.0.tgz";
3364 path = fetchurl { 5641 path = fetchurl {
3365 name = "minipass___minipass_2.3.5.tgz"; 5642 name = "minipass___minipass_2.9.0.tgz";
3366 url = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz"; 5643 url = "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz";
3367 sha1 = "cacebe492022497f656b0f0f51e2682a9ed2d848"; 5644 sha1 = "e713762e7d3e32fed803115cf93e04bca9fcc9a6";
3368 }; 5645 };
3369 } 5646 }
3370 5647
3371 { 5648 {
3372 name = "minizlib___minizlib_1.2.1.tgz"; 5649 name = "minizlib___minizlib_1.3.3.tgz";
3373 path = fetchurl { 5650 path = fetchurl {
3374 name = "minizlib___minizlib_1.2.1.tgz"; 5651 name = "minizlib___minizlib_1.3.3.tgz";
3375 url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz"; 5652 url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz";
3376 sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614"; 5653 sha1 = "2290de96818a34c29551c8a8d301216bd65a861d";
3377 }; 5654 };
3378 } 5655 }
3379 5656
3380 { 5657 {
3381 name = "mixin_deep___mixin_deep_1.3.1.tgz"; 5658 name = "mixin_deep___mixin_deep_1.3.2.tgz";
3382 path = fetchurl { 5659 path = fetchurl {
3383 name = "mixin_deep___mixin_deep_1.3.1.tgz"; 5660 name = "mixin_deep___mixin_deep_1.3.2.tgz";
3384 url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz"; 5661 url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
3385 sha1 = "a49e7268dce1a0d9698e45326c5626df3543d0fe"; 5662 sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
3386 }; 5663 };
3387 } 5664 }
3388 5665
3389 { 5666 {
3390 name = "mkdirp___mkdirp_0.5.1.tgz"; 5667 name = "mkdirp___mkdirp_0.5.4.tgz";
3391 path = fetchurl { 5668 path = fetchurl {
3392 name = "mkdirp___mkdirp_0.5.1.tgz"; 5669 name = "mkdirp___mkdirp_0.5.4.tgz";
3393 url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; 5670 url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz";
3394 sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; 5671 sha1 = "fd01504a6797ec5c9be81ff43d204961ed64a512";
5672 };
5673 }
5674
5675 {
5676 name = "mkdirp___mkdirp_0.3.5.tgz";
5677 path = fetchurl {
5678 name = "mkdirp___mkdirp_0.3.5.tgz";
5679 url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz";
5680 sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
5681 };
5682 }
5683
5684 {
5685 name = "mkpath___mkpath_0.1.0.tgz";
5686 path = fetchurl {
5687 name = "mkpath___mkpath_0.1.0.tgz";
5688 url = "https://registry.yarnpkg.com/mkpath/-/mkpath-0.1.0.tgz";
5689 sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
5690 };
5691 }
5692
5693 {
5694 name = "module_deps___module_deps_2.0.6.tgz";
5695 path = fetchurl {
5696 name = "module_deps___module_deps_2.0.6.tgz";
5697 url = "https://registry.yarnpkg.com/module-deps/-/module-deps-2.0.6.tgz";
5698 sha1 = "b999321c73ac33580f00712c0f3075fdca42563f";
5699 };
5700 }
5701
5702 {
5703 name = "mout___mout_0.9.1.tgz";
5704 path = fetchurl {
5705 name = "mout___mout_0.9.1.tgz";
5706 url = "https://registry.yarnpkg.com/mout/-/mout-0.9.1.tgz";
5707 sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477";
3395 }; 5708 };
3396 } 5709 }
3397 5710
@@ -3423,11 +5736,11 @@
3423 } 5736 }
3424 5737
3425 { 5738 {
3426 name = "ms___ms_2.1.1.tgz"; 5739 name = "ms___ms_2.1.2.tgz";
3427 path = fetchurl { 5740 path = fetchurl {
3428 name = "ms___ms_2.1.1.tgz"; 5741 name = "ms___ms_2.1.2.tgz";
3429 url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; 5742 url = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
3430 sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; 5743 sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
3431 }; 5744 };
3432 } 5745 }
3433 5746
@@ -3441,11 +5754,29 @@
3441 } 5754 }
3442 5755
3443 { 5756 {
3444 name = "nan___nan_2.12.1.tgz"; 5757 name = "mute_stream___mute_stream_0.0.4.tgz";
3445 path = fetchurl { 5758 path = fetchurl {
3446 name = "nan___nan_2.12.1.tgz"; 5759 name = "mute_stream___mute_stream_0.0.4.tgz";
3447 url = "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz"; 5760 url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.4.tgz";
3448 sha1 = "7b1aa193e9aa86057e3c7bbd0ac448e770925552"; 5761 sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
5762 };
5763 }
5764
5765 {
5766 name = "mute_stream___mute_stream_0.0.8.tgz";
5767 path = fetchurl {
5768 name = "mute_stream___mute_stream_0.0.8.tgz";
5769 url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz";
5770 sha1 = "1630c42b2251ff81e2a283de96a5497ea92e5e0d";
5771 };
5772 }
5773
5774 {
5775 name = "nan___nan_2.14.0.tgz";
5776 path = fetchurl {
5777 name = "nan___nan_2.14.0.tgz";
5778 url = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
5779 sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
3449 }; 5780 };
3450 } 5781 }
3451 5782
@@ -3468,11 +5799,11 @@
3468 } 5799 }
3469 5800
3470 { 5801 {
3471 name = "needle___needle_2.2.4.tgz"; 5802 name = "needle___needle_2.3.3.tgz";
3472 path = fetchurl { 5803 path = fetchurl {
3473 name = "needle___needle_2.2.4.tgz"; 5804 name = "needle___needle_2.3.3.tgz";
3474 url = "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz"; 5805 url = "https://registry.yarnpkg.com/needle/-/needle-2.3.3.tgz";
3475 sha1 = "51931bff82533b1928b7d1d69e01f1b00ffd2a4e"; 5806 sha1 = "a041ad1d04a871b0ebb666f40baaf1fb47867117";
3476 }; 5807 };
3477 } 5808 }
3478 5809
@@ -3486,6 +5817,69 @@
3486 } 5817 }
3487 5818
3488 { 5819 {
5820 name = "neo_async___neo_async_2.6.1.tgz";
5821 path = fetchurl {
5822 name = "neo_async___neo_async_2.6.1.tgz";
5823 url = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
5824 sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
5825 };
5826 }
5827
5828 {
5829 name = "nested_error_stacks___nested_error_stacks_1.0.2.tgz";
5830 path = fetchurl {
5831 name = "nested_error_stacks___nested_error_stacks_1.0.2.tgz";
5832 url = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz";
5833 sha1 = "19f619591519f096769a5ba9a86e6eeec823c3cf";
5834 };
5835 }
5836
5837 {
5838 name = "next_tick___next_tick_0.1.0.tgz";
5839 path = fetchurl {
5840 name = "next_tick___next_tick_0.1.0.tgz";
5841 url = "https://registry.yarnpkg.com/next-tick/-/next-tick-0.1.0.tgz";
5842 sha1 = "1912cce8eb9b697d640fbba94f8f00dec3b94259";
5843 };
5844 }
5845
5846 {
5847 name = "next_tick___next_tick_1.1.0.tgz";
5848 path = fetchurl {
5849 name = "next_tick___next_tick_1.1.0.tgz";
5850 url = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz";
5851 sha1 = "1836ee30ad56d67ef281b22bd199f709449b35eb";
5852 };
5853 }
5854
5855 {
5856 name = "next_tick___next_tick_0.2.2.tgz";
5857 path = fetchurl {
5858 name = "next_tick___next_tick_0.2.2.tgz";
5859 url = "https://registry.yarnpkg.com/next-tick/-/next-tick-0.2.2.tgz";
5860 sha1 = "75da4a927ee5887e39065880065b7336413b310d";
5861 };
5862 }
5863
5864 {
5865 name = "next_tick___next_tick_1.0.0.tgz";
5866 path = fetchurl {
5867 name = "next_tick___next_tick_1.0.0.tgz";
5868 url = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
5869 sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
5870 };
5871 }
5872
5873 {
5874 name = "ng_annotate___ng_annotate_1.2.2.tgz";
5875 path = fetchurl {
5876 name = "ng_annotate___ng_annotate_1.2.2.tgz";
5877 url = "https://registry.yarnpkg.com/ng-annotate/-/ng-annotate-1.2.2.tgz";
5878 sha1 = "dc3fc51ba0b2f8b385dbe047f4da06f580a1fd61";
5879 };
5880 }
5881
5882 {
3489 name = "ng_classify___ng_classify_4.1.1.tgz"; 5883 name = "ng_classify___ng_classify_4.1.1.tgz";
3490 path = fetchurl { 5884 path = fetchurl {
3491 name = "ng_classify___ng_classify_4.1.1.tgz"; 5885 name = "ng_classify___ng_classify_4.1.1.tgz";
@@ -3504,20 +5898,29 @@
3504 } 5898 }
3505 5899
3506 { 5900 {
3507 name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; 5901 name = "node_pre_gyp___node_pre_gyp_0.14.0.tgz";
5902 path = fetchurl {
5903 name = "node_pre_gyp___node_pre_gyp_0.14.0.tgz";
5904 url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
5905 sha1 = "9a0596533b877289bcad4e143982ca3d904ddc83";
5906 };
5907 }
5908
5909 {
5910 name = "node_sass___node_sass_4.13.1.tgz";
3508 path = fetchurl { 5911 path = fetchurl {
3509 name = "node_pre_gyp___node_pre_gyp_0.10.3.tgz"; 5912 name = "node_sass___node_sass_4.13.1.tgz";
3510 url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz"; 5913 url = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz";
3511 sha1 = "3070040716afdc778747b61b6887bf78880b80fc"; 5914 sha1 = "9db5689696bb2eec2c32b98bfea4c7a2e992d0a3";
3512 }; 5915 };
3513 } 5916 }
3514 5917
3515 { 5918 {
3516 name = "node_sass___node_sass_4.11.0.tgz"; 5919 name = "node_uuid___node_uuid_1.4.8.tgz";
3517 path = fetchurl { 5920 path = fetchurl {
3518 name = "node_sass___node_sass_4.11.0.tgz"; 5921 name = "node_uuid___node_uuid_1.4.8.tgz";
3519 url = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz"; 5922 url = "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz";
3520 sha1 = "183faec398e9cbe93ba43362e2768ca988a6369a"; 5923 sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
3521 }; 5924 };
3522 } 5925 }
3523 5926
@@ -3540,11 +5943,29 @@
3540 } 5943 }
3541 5944
3542 { 5945 {
3543 name = "nopt___nopt_4.0.1.tgz"; 5946 name = "nopt___nopt_4.0.3.tgz";
3544 path = fetchurl { 5947 path = fetchurl {
3545 name = "nopt___nopt_4.0.1.tgz"; 5948 name = "nopt___nopt_4.0.3.tgz";
3546 url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; 5949 url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz";
3547 sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; 5950 sha1 = "a375cad9d02fd921278d954c2254d5aa57e15e48";
5951 };
5952 }
5953
5954 {
5955 name = "nopt___nopt_1.0.10.tgz";
5956 path = fetchurl {
5957 name = "nopt___nopt_1.0.10.tgz";
5958 url = "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz";
5959 sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
5960 };
5961 }
5962
5963 {
5964 name = "nopt___nopt_2.2.1.tgz";
5965 path = fetchurl {
5966 name = "nopt___nopt_2.2.1.tgz";
5967 url = "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz";
5968 sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
3548 }; 5969 };
3549 } 5970 }
3550 5971
@@ -3567,20 +5988,29 @@
3567 } 5988 }
3568 5989
3569 { 5990 {
3570 name = "npm_bundled___npm_bundled_1.0.6.tgz"; 5991 name = "npm_bundled___npm_bundled_1.1.1.tgz";
3571 path = fetchurl { 5992 path = fetchurl {
3572 name = "npm_bundled___npm_bundled_1.0.6.tgz"; 5993 name = "npm_bundled___npm_bundled_1.1.1.tgz";
3573 url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz"; 5994 url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz";
3574 sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd"; 5995 sha1 = "1edd570865a94cdb1bc8220775e29466c9fb234b";
3575 }; 5996 };
3576 } 5997 }
3577 5998
3578 { 5999 {
3579 name = "npm_packlist___npm_packlist_1.4.1.tgz"; 6000 name = "npm_normalize_package_bin___npm_normalize_package_bin_1.0.1.tgz";
3580 path = fetchurl { 6001 path = fetchurl {
3581 name = "npm_packlist___npm_packlist_1.4.1.tgz"; 6002 name = "npm_normalize_package_bin___npm_normalize_package_bin_1.0.1.tgz";
3582 url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz"; 6003 url = "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
3583 sha1 = "19064cdf988da80ea3cee45533879d90192bbfbc"; 6004 sha1 = "6e79a41f23fd235c0623218228da7d9c23b8f6e2";
6005 };
6006 }
6007
6008 {
6009 name = "npm_packlist___npm_packlist_1.4.8.tgz";
6010 path = fetchurl {
6011 name = "npm_packlist___npm_packlist_1.4.8.tgz";
6012 url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz";
6013 sha1 = "56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e";
3584 }; 6014 };
3585 } 6015 }
3586 6016
@@ -3612,6 +6042,24 @@
3612 } 6042 }
3613 6043
3614 { 6044 {
6045 name = "oauth_sign___oauth_sign_0.3.0.tgz";
6046 path = fetchurl {
6047 name = "oauth_sign___oauth_sign_0.3.0.tgz";
6048 url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.3.0.tgz";
6049 sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
6050 };
6051 }
6052
6053 {
6054 name = "oauth_sign___oauth_sign_0.5.0.tgz";
6055 path = fetchurl {
6056 name = "oauth_sign___oauth_sign_0.5.0.tgz";
6057 url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.5.0.tgz";
6058 sha1 = "d767f5169325620eab2e087ef0c472e773db6461";
6059 };
6060 }
6061
6062 {
3615 name = "oauth_sign___oauth_sign_0.9.0.tgz"; 6063 name = "oauth_sign___oauth_sign_0.9.0.tgz";
3616 path = fetchurl { 6064 path = fetchurl {
3617 name = "oauth_sign___oauth_sign_0.9.0.tgz"; 6065 name = "oauth_sign___oauth_sign_0.9.0.tgz";
@@ -3621,6 +6069,15 @@
3621 } 6069 }
3622 6070
3623 { 6071 {
6072 name = "object_assign___object_assign_4.1.1.tgz";
6073 path = fetchurl {
6074 name = "object_assign___object_assign_4.1.1.tgz";
6075 url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
6076 sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
6077 };
6078 }
6079
6080 {
3624 name = "object_assign___object_assign_4.1.0.tgz"; 6081 name = "object_assign___object_assign_4.1.0.tgz";
3625 path = fetchurl { 6082 path = fetchurl {
3626 name = "object_assign___object_assign_4.1.0.tgz"; 6083 name = "object_assign___object_assign_4.1.0.tgz";
@@ -3630,6 +6087,15 @@
3630 } 6087 }
3631 6088
3632 { 6089 {
6090 name = "object_assign___object_assign_2.1.1.tgz";
6091 path = fetchurl {
6092 name = "object_assign___object_assign_2.1.1.tgz";
6093 url = "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz";
6094 sha1 = "43c36e5d569ff8e4816c4efa8be02d26967c18aa";
6095 };
6096 }
6097
6098 {
3633 name = "object_assign___object_assign_3.0.0.tgz"; 6099 name = "object_assign___object_assign_3.0.0.tgz";
3634 path = fetchurl { 6100 path = fetchurl {
3635 name = "object_assign___object_assign_3.0.0.tgz"; 6101 name = "object_assign___object_assign_3.0.0.tgz";
@@ -3639,11 +6105,11 @@
3639 } 6105 }
3640 6106
3641 { 6107 {
3642 name = "object_assign___object_assign_4.1.1.tgz"; 6108 name = "object_assign___object_assign_0.1.2.tgz";
3643 path = fetchurl { 6109 path = fetchurl {
3644 name = "object_assign___object_assign_4.1.1.tgz"; 6110 name = "object_assign___object_assign_0.1.2.tgz";
3645 url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; 6111 url = "https://registry.yarnpkg.com/object-assign/-/object-assign-0.1.2.tgz";
3646 sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; 6112 sha1 = "036992f073aff7b2db83d06b3fb3155a5ccac37f";
3647 }; 6113 };
3648 } 6114 }
3649 6115
@@ -3666,6 +6132,15 @@
3666 } 6132 }
3667 6133
3668 { 6134 {
6135 name = "object_keys___object_keys_0.4.0.tgz";
6136 path = fetchurl {
6137 name = "object_keys___object_keys_0.4.0.tgz";
6138 url = "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz";
6139 sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
6140 };
6141 }
6142
6143 {
3669 name = "object_visit___object_visit_1.0.1.tgz"; 6144 name = "object_visit___object_visit_1.0.1.tgz";
3670 path = fetchurl { 6145 path = fetchurl {
3671 name = "object_visit___object_visit_1.0.1.tgz"; 6146 name = "object_visit___object_visit_1.0.1.tgz";
@@ -3738,6 +6213,15 @@
3738 } 6213 }
3739 6214
3740 { 6215 {
6216 name = "opn___opn_0.1.2.tgz";
6217 path = fetchurl {
6218 name = "opn___opn_0.1.2.tgz";
6219 url = "https://registry.yarnpkg.com/opn/-/opn-0.1.2.tgz";
6220 sha1 = "c527832cfd964d52096b524d0035ecaece51db4f";
6221 };
6222 }
6223
6224 {
3741 name = "optimist___optimist_0.6.1.tgz"; 6225 name = "optimist___optimist_0.6.1.tgz";
3742 path = fetchurl { 6226 path = fetchurl {
3743 name = "optimist___optimist_0.6.1.tgz"; 6227 name = "optimist___optimist_0.6.1.tgz";
@@ -3747,11 +6231,20 @@
3747 } 6231 }
3748 6232
3749 { 6233 {
3750 name = "optionator___optionator_0.8.2.tgz"; 6234 name = "optimist___optimist_0.3.7.tgz";
3751 path = fetchurl { 6235 path = fetchurl {
3752 name = "optionator___optionator_0.8.2.tgz"; 6236 name = "optimist___optimist_0.3.7.tgz";
3753 url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; 6237 url = "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz";
3754 sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; 6238 sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
6239 };
6240 }
6241
6242 {
6243 name = "optionator___optionator_0.8.3.tgz";
6244 path = fetchurl {
6245 name = "optionator___optionator_0.8.3.tgz";
6246 url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
6247 sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
3755 }; 6248 };
3756 } 6249 }
3757 6250
@@ -3774,6 +6267,24 @@
3774 } 6267 }
3775 6268
3776 { 6269 {
6270 name = "ordered_ast_traverse___ordered_ast_traverse_1.1.1.tgz";
6271 path = fetchurl {
6272 name = "ordered_ast_traverse___ordered_ast_traverse_1.1.1.tgz";
6273 url = "https://registry.yarnpkg.com/ordered-ast-traverse/-/ordered-ast-traverse-1.1.1.tgz";
6274 sha1 = "6843a170bc0eee8b520cc8ddc1ddd3aa30fa057c";
6275 };
6276 }
6277
6278 {
6279 name = "ordered_esprima_props___ordered_esprima_props_1.1.0.tgz";
6280 path = fetchurl {
6281 name = "ordered_esprima_props___ordered_esprima_props_1.1.0.tgz";
6282 url = "https://registry.yarnpkg.com/ordered-esprima-props/-/ordered-esprima-props-1.1.0.tgz";
6283 sha1 = "a9827086df5f010aa60e9bd02b6e0335cea2ffcb";
6284 };
6285 }
6286
6287 {
3777 name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; 6288 name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz";
3778 path = fetchurl { 6289 path = fetchurl {
3779 name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; 6290 name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz";
@@ -3783,6 +6294,15 @@
3783 } 6294 }
3784 6295
3785 { 6296 {
6297 name = "os_browserify___os_browserify_0.1.2.tgz";
6298 path = fetchurl {
6299 name = "os_browserify___os_browserify_0.1.2.tgz";
6300 url = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz";
6301 sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
6302 };
6303 }
6304
6305 {
3786 name = "os_homedir___os_homedir_1.0.2.tgz"; 6306 name = "os_homedir___os_homedir_1.0.2.tgz";
3787 path = fetchurl { 6307 path = fetchurl {
3788 name = "os_homedir___os_homedir_1.0.2.tgz"; 6308 name = "os_homedir___os_homedir_1.0.2.tgz";
@@ -3819,6 +6339,60 @@
3819 } 6339 }
3820 6340
3821 { 6341 {
6342 name = "osenv___osenv_0.0.3.tgz";
6343 path = fetchurl {
6344 name = "osenv___osenv_0.0.3.tgz";
6345 url = "https://registry.yarnpkg.com/osenv/-/osenv-0.0.3.tgz";
6346 sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
6347 };
6348 }
6349
6350 {
6351 name = "p_throttler___p_throttler_0.0.1.tgz";
6352 path = fetchurl {
6353 name = "p_throttler___p_throttler_0.0.1.tgz";
6354 url = "https://registry.yarnpkg.com/p-throttler/-/p-throttler-0.0.1.tgz";
6355 sha1 = "c341e3589ec843852a035e6f88e6c1e96150029b";
6356 };
6357 }
6358
6359 {
6360 name = "package_json___package_json_1.2.0.tgz";
6361 path = fetchurl {
6362 name = "package_json___package_json_1.2.0.tgz";
6363 url = "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz";
6364 sha1 = "c8ecac094227cdf76a316874ed05e27cc939a0e0";
6365 };
6366 }
6367
6368 {
6369 name = "pako___pako_0.2.9.tgz";
6370 path = fetchurl {
6371 name = "pako___pako_0.2.9.tgz";
6372 url = "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz";
6373 sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75";
6374 };
6375 }
6376
6377 {
6378 name = "parents___parents_0.0.2.tgz";
6379 path = fetchurl {
6380 name = "parents___parents_0.0.2.tgz";
6381 url = "https://registry.yarnpkg.com/parents/-/parents-0.0.2.tgz";
6382 sha1 = "67147826e497d40759aaf5ba4c99659b6034d302";
6383 };
6384 }
6385
6386 {
6387 name = "parents___parents_0.0.3.tgz";
6388 path = fetchurl {
6389 name = "parents___parents_0.0.3.tgz";
6390 url = "https://registry.yarnpkg.com/parents/-/parents-0.0.3.tgz";
6391 sha1 = "fa212f024d9fa6318dbb6b4ce676c8be493b9c43";
6392 };
6393 }
6394
6395 {
3822 name = "parse_filepath___parse_filepath_1.0.2.tgz"; 6396 name = "parse_filepath___parse_filepath_1.0.2.tgz";
3823 path = fetchurl { 6397 path = fetchurl {
3824 name = "parse_filepath___parse_filepath_1.0.2.tgz"; 6398 name = "parse_filepath___parse_filepath_1.0.2.tgz";
@@ -3891,11 +6465,11 @@
3891 } 6465 }
3892 6466
3893 { 6467 {
3894 name = "parseurl___parseurl_1.3.2.tgz"; 6468 name = "parseurl___parseurl_1.3.3.tgz";
3895 path = fetchurl { 6469 path = fetchurl {
3896 name = "parseurl___parseurl_1.3.2.tgz"; 6470 name = "parseurl___parseurl_1.3.3.tgz";
3897 url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz"; 6471 url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
3898 sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3"; 6472 sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
3899 }; 6473 };
3900 } 6474 }
3901 6475
@@ -3909,6 +6483,15 @@
3909 } 6483 }
3910 6484
3911 { 6485 {
6486 name = "path_browserify___path_browserify_0.0.1.tgz";
6487 path = fetchurl {
6488 name = "path_browserify___path_browserify_0.0.1.tgz";
6489 url = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
6490 sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
6491 };
6492 }
6493
6494 {
3912 name = "path_exists___path_exists_2.1.0.tgz"; 6495 name = "path_exists___path_exists_2.1.0.tgz";
3913 path = fetchurl { 6496 path = fetchurl {
3914 name = "path_exists___path_exists_2.1.0.tgz"; 6497 name = "path_exists___path_exists_2.1.0.tgz";
@@ -3936,6 +6519,15 @@
3936 } 6519 }
3937 6520
3938 { 6521 {
6522 name = "path_platform___path_platform_0.0.1.tgz";
6523 path = fetchurl {
6524 name = "path_platform___path_platform_0.0.1.tgz";
6525 url = "https://registry.yarnpkg.com/path-platform/-/path-platform-0.0.1.tgz";
6526 sha1 = "b5585d7c3c463d89aa0060d86611cf1afd617e2a";
6527 };
6528 }
6529
6530 {
3939 name = "path_root_regex___path_root_regex_0.1.2.tgz"; 6531 name = "path_root_regex___path_root_regex_0.1.2.tgz";
3940 path = fetchurl { 6532 path = fetchurl {
3941 name = "path_root_regex___path_root_regex_0.1.2.tgz"; 6533 name = "path_root_regex___path_root_regex_0.1.2.tgz";
@@ -4026,6 +6618,15 @@
4026 } 6618 }
4027 6619
4028 { 6620 {
6621 name = "prepend_http___prepend_http_1.0.4.tgz";
6622 path = fetchurl {
6623 name = "prepend_http___prepend_http_1.0.4.tgz";
6624 url = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
6625 sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
6626 };
6627 }
6628
6629 {
4029 name = "preserve___preserve_0.2.0.tgz"; 6630 name = "preserve___preserve_0.2.0.tgz";
4030 path = fetchurl { 6631 path = fetchurl {
4031 name = "preserve___preserve_0.2.0.tgz"; 6632 name = "preserve___preserve_0.2.0.tgz";
@@ -4044,11 +6645,56 @@
4044 } 6645 }
4045 6646
4046 { 6647 {
4047 name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; 6648 name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
6649 path = fetchurl {
6650 name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
6651 url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
6652 sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
6653 };
6654 }
6655
6656 {
6657 name = "process___process_0.7.0.tgz";
4048 path = fetchurl { 6658 path = fetchurl {
4049 name = "process_nextick_args___process_nextick_args_2.0.0.tgz"; 6659 name = "process___process_0.7.0.tgz";
4050 url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; 6660 url = "https://registry.yarnpkg.com/process/-/process-0.7.0.tgz";
4051 sha1 = "a37d732f4271b4ab1ad070d35508e8290788ffaa"; 6661 sha1 = "c52208161a34adf3812344ae85d3e6150469389d";
6662 };
6663 }
6664
6665 {
6666 name = "process___process_0.5.2.tgz";
6667 path = fetchurl {
6668 name = "process___process_0.5.2.tgz";
6669 url = "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz";
6670 sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
6671 };
6672 }
6673
6674 {
6675 name = "process___process_0.6.0.tgz";
6676 path = fetchurl {
6677 name = "process___process_0.6.0.tgz";
6678 url = "https://registry.yarnpkg.com/process/-/process-0.6.0.tgz";
6679 sha1 = "7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f";
6680 };
6681 }
6682
6683 {
6684 name = "promise___promise_7.3.1.tgz";
6685 path = fetchurl {
6686 name = "promise___promise_7.3.1.tgz";
6687 url = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
6688 sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
6689 };
6690 }
6691
6692 {
6693 name = "promptly___promptly_0.2.1.tgz";
6694 path = fetchurl {
6695 name = "promptly___promptly_0.2.1.tgz";
6696 url = "https://registry.yarnpkg.com/promptly/-/promptly-0.2.1.tgz";
6697 sha1 = "6444e7ca4dbd9899e7eeb5ec3922827ebdc22b3b";
4052 }; 6698 };
4053 } 6699 }
4054 6700
@@ -4062,20 +6708,128 @@
4062 } 6708 }
4063 6709
4064 { 6710 {
4065 name = "psl___psl_1.1.31.tgz"; 6711 name = "psl___psl_1.8.0.tgz";
6712 path = fetchurl {
6713 name = "psl___psl_1.8.0.tgz";
6714 url = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
6715 sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
6716 };
6717 }
6718
6719 {
6720 name = "pug_attrs___pug_attrs_2.0.4.tgz";
6721 path = fetchurl {
6722 name = "pug_attrs___pug_attrs_2.0.4.tgz";
6723 url = "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.4.tgz";
6724 sha1 = "b2f44c439e4eb4ad5d4ef25cac20d18ad28cc336";
6725 };
6726 }
6727
6728 {
6729 name = "pug_code_gen___pug_code_gen_2.0.2.tgz";
6730 path = fetchurl {
6731 name = "pug_code_gen___pug_code_gen_2.0.2.tgz";
6732 url = "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.2.tgz";
6733 sha1 = "ad0967162aea077dcf787838d94ed14acb0217c2";
6734 };
6735 }
6736
6737 {
6738 name = "pug_error___pug_error_1.3.3.tgz";
6739 path = fetchurl {
6740 name = "pug_error___pug_error_1.3.3.tgz";
6741 url = "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.3.tgz";
6742 sha1 = "f342fb008752d58034c185de03602dd9ffe15fa6";
6743 };
6744 }
6745
6746 {
6747 name = "pug_filters___pug_filters_3.1.1.tgz";
6748 path = fetchurl {
6749 name = "pug_filters___pug_filters_3.1.1.tgz";
6750 url = "https://registry.yarnpkg.com/pug-filters/-/pug-filters-3.1.1.tgz";
6751 sha1 = "ab2cc82db9eeccf578bda89130e252a0db026aa7";
6752 };
6753 }
6754
6755 {
6756 name = "pug_lexer___pug_lexer_4.1.0.tgz";
6757 path = fetchurl {
6758 name = "pug_lexer___pug_lexer_4.1.0.tgz";
6759 url = "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-4.1.0.tgz";
6760 sha1 = "531cde48c7c0b1fcbbc2b85485c8665e31489cfd";
6761 };
6762 }
6763
6764 {
6765 name = "pug_linker___pug_linker_3.0.6.tgz";
6766 path = fetchurl {
6767 name = "pug_linker___pug_linker_3.0.6.tgz";
6768 url = "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.6.tgz";
6769 sha1 = "f5bf218b0efd65ce6670f7afc51658d0f82989fb";
6770 };
6771 }
6772
6773 {
6774 name = "pug_load___pug_load_2.0.12.tgz";
6775 path = fetchurl {
6776 name = "pug_load___pug_load_2.0.12.tgz";
6777 url = "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.12.tgz";
6778 sha1 = "d38c85eb85f6e2f704dea14dcca94144d35d3e7b";
6779 };
6780 }
6781
6782 {
6783 name = "pug_parser___pug_parser_5.0.1.tgz";
6784 path = fetchurl {
6785 name = "pug_parser___pug_parser_5.0.1.tgz";
6786 url = "https://registry.yarnpkg.com/pug-parser/-/pug-parser-5.0.1.tgz";
6787 sha1 = "03e7ada48b6840bd3822f867d7d90f842d0ffdc9";
6788 };
6789 }
6790
6791 {
6792 name = "pug_runtime___pug_runtime_2.0.5.tgz";
4066 path = fetchurl { 6793 path = fetchurl {
4067 name = "psl___psl_1.1.31.tgz"; 6794 name = "pug_runtime___pug_runtime_2.0.5.tgz";
4068 url = "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz"; 6795 url = "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-2.0.5.tgz";
4069 sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184"; 6796 sha1 = "6da7976c36bf22f68e733c359240d8ae7a32953a";
4070 }; 6797 };
4071 } 6798 }
4072 6799
4073 { 6800 {
4074 name = "punycode___punycode_1.4.1.tgz"; 6801 name = "pug_strip_comments___pug_strip_comments_1.0.4.tgz";
4075 path = fetchurl { 6802 path = fetchurl {
4076 name = "punycode___punycode_1.4.1.tgz"; 6803 name = "pug_strip_comments___pug_strip_comments_1.0.4.tgz";
4077 url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; 6804 url = "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz";
4078 sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; 6805 sha1 = "cc1b6de1f6e8f5931cf02ec66cdffd3f50eaf8a8";
6806 };
6807 }
6808
6809 {
6810 name = "pug_walk___pug_walk_1.1.8.tgz";
6811 path = fetchurl {
6812 name = "pug_walk___pug_walk_1.1.8.tgz";
6813 url = "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.8.tgz";
6814 sha1 = "b408f67f27912f8c21da2f45b7230c4bd2a5ea7a";
6815 };
6816 }
6817
6818 {
6819 name = "pug___pug_2.0.4.tgz";
6820 path = fetchurl {
6821 name = "pug___pug_2.0.4.tgz";
6822 url = "https://registry.yarnpkg.com/pug/-/pug-2.0.4.tgz";
6823 sha1 = "ee7682ec0a60494b38d48a88f05f3b0ac931377d";
6824 };
6825 }
6826
6827 {
6828 name = "punycode___punycode_1.3.2.tgz";
6829 path = fetchurl {
6830 name = "punycode___punycode_1.3.2.tgz";
6831 url = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
6832 sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
4079 }; 6833 };
4080 } 6834 }
4081 6835
@@ -4089,6 +6843,42 @@
4089 } 6843 }
4090 6844
4091 { 6845 {
6846 name = "punycode___punycode_1.2.4.tgz";
6847 path = fetchurl {
6848 name = "punycode___punycode_1.2.4.tgz";
6849 url = "https://registry.yarnpkg.com/punycode/-/punycode-1.2.4.tgz";
6850 sha1 = "54008ac972aec74175def9cba6df7fa9d3918740";
6851 };
6852 }
6853
6854 {
6855 name = "q___q_1.5.1.tgz";
6856 path = fetchurl {
6857 name = "q___q_1.5.1.tgz";
6858 url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
6859 sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
6860 };
6861 }
6862
6863 {
6864 name = "q___q_0.9.7.tgz";
6865 path = fetchurl {
6866 name = "q___q_0.9.7.tgz";
6867 url = "https://registry.yarnpkg.com/q/-/q-0.9.7.tgz";
6868 sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
6869 };
6870 }
6871
6872 {
6873 name = "q___q_1.0.1.tgz";
6874 path = fetchurl {
6875 name = "q___q_1.0.1.tgz";
6876 url = "https://registry.yarnpkg.com/q/-/q-1.0.1.tgz";
6877 sha1 = "11872aeedee89268110b10a718448ffb10112a14";
6878 };
6879 }
6880
6881 {
4092 name = "qs___qs_5.2.0.tgz"; 6882 name = "qs___qs_5.2.0.tgz";
4093 path = fetchurl { 6883 path = fetchurl {
4094 name = "qs___qs_5.2.0.tgz"; 6884 name = "qs___qs_5.2.0.tgz";
@@ -4098,11 +6888,29 @@
4098 } 6888 }
4099 6889
4100 { 6890 {
4101 name = "qs___qs_6.5.2.tgz"; 6891 name = "qs___qs_6.7.0.tgz";
4102 path = fetchurl { 6892 path = fetchurl {
4103 name = "qs___qs_6.5.2.tgz"; 6893 name = "qs___qs_6.7.0.tgz";
4104 url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; 6894 url = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
4105 sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; 6895 sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
6896 };
6897 }
6898
6899 {
6900 name = "qs___qs_0.6.6.tgz";
6901 path = fetchurl {
6902 name = "qs___qs_0.6.6.tgz";
6903 url = "https://registry.yarnpkg.com/qs/-/qs-0.6.6.tgz";
6904 sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
6905 };
6906 }
6907
6908 {
6909 name = "qs___qs_1.0.2.tgz";
6910 path = fetchurl {
6911 name = "qs___qs_1.0.2.tgz";
6912 url = "https://registry.yarnpkg.com/qs/-/qs-1.0.2.tgz";
6913 sha1 = "50a93e2b5af6691c31bcea5dae78ee6ea1903768";
4106 }; 6914 };
4107 } 6915 }
4108 6916
@@ -4116,6 +6924,42 @@
4116 } 6924 }
4117 6925
4118 { 6926 {
6927 name = "qs___qs_2.3.3.tgz";
6928 path = fetchurl {
6929 name = "qs___qs_2.3.3.tgz";
6930 url = "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz";
6931 sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
6932 };
6933 }
6934
6935 {
6936 name = "qs___qs_6.5.2.tgz";
6937 path = fetchurl {
6938 name = "qs___qs_6.5.2.tgz";
6939 url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
6940 sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
6941 };
6942 }
6943
6944 {
6945 name = "querystring_es3___querystring_es3_0.2.0.tgz";
6946 path = fetchurl {
6947 name = "querystring_es3___querystring_es3_0.2.0.tgz";
6948 url = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.0.tgz";
6949 sha1 = "c365a08a69c443accfeb3a9deab35e3f0abaa476";
6950 };
6951 }
6952
6953 {
6954 name = "querystring___querystring_0.2.0.tgz";
6955 path = fetchurl {
6956 name = "querystring___querystring_0.2.0.tgz";
6957 url = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
6958 sha1 = "b209849203bb25df820da756e747005878521620";
6959 };
6960 }
6961
6962 {
4119 name = "randomatic___randomatic_3.1.1.tgz"; 6963 name = "randomatic___randomatic_3.1.1.tgz";
4120 path = fetchurl { 6964 path = fetchurl {
4121 name = "randomatic___randomatic_3.1.1.tgz"; 6965 name = "randomatic___randomatic_3.1.1.tgz";
@@ -4125,11 +6969,20 @@
4125 } 6969 }
4126 6970
4127 { 6971 {
4128 name = "raw_body___raw_body_2.3.3.tgz"; 6972 name = "range_parser___range_parser_1.0.3.tgz";
4129 path = fetchurl { 6973 path = fetchurl {
4130 name = "raw_body___raw_body_2.3.3.tgz"; 6974 name = "range_parser___range_parser_1.0.3.tgz";
4131 url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz"; 6975 url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz";
4132 sha1 = "1b324ece6b5706e153855bc1148c65bb7f6ea0c3"; 6976 sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
6977 };
6978 }
6979
6980 {
6981 name = "raw_body___raw_body_2.4.0.tgz";
6982 path = fetchurl {
6983 name = "raw_body___raw_body_2.4.0.tgz";
6984 url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
6985 sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
4133 }; 6986 };
4134 } 6987 }
4135 6988
@@ -4152,6 +7005,15 @@
4152 } 7005 }
4153 7006
4154 { 7007 {
7008 name = "read_all_stream___read_all_stream_3.1.0.tgz";
7009 path = fetchurl {
7010 name = "read_all_stream___read_all_stream_3.1.0.tgz";
7011 url = "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz";
7012 sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
7013 };
7014 }
7015
7016 {
4155 name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; 7017 name = "read_pkg_up___read_pkg_up_1.0.1.tgz";
4156 path = fetchurl { 7018 path = fetchurl {
4157 name = "read_pkg_up___read_pkg_up_1.0.1.tgz"; 7019 name = "read_pkg_up___read_pkg_up_1.0.1.tgz";
@@ -4170,20 +7032,20 @@
4170 } 7032 }
4171 7033
4172 { 7034 {
4173 name = "readable_stream___readable_stream_1.0.34.tgz"; 7035 name = "read___read_1.0.7.tgz";
4174 path = fetchurl { 7036 path = fetchurl {
4175 name = "readable_stream___readable_stream_1.0.34.tgz"; 7037 name = "read___read_1.0.7.tgz";
4176 url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; 7038 url = "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz";
4177 sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c"; 7039 sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
4178 }; 7040 };
4179 } 7041 }
4180 7042
4181 { 7043 {
4182 name = "readable_stream___readable_stream_2.3.6.tgz"; 7044 name = "readable_stream___readable_stream_1.0.34.tgz";
4183 path = fetchurl { 7045 path = fetchurl {
4184 name = "readable_stream___readable_stream_2.3.6.tgz"; 7046 name = "readable_stream___readable_stream_1.0.34.tgz";
4185 url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz"; 7047 url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz";
4186 sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; 7048 sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
4187 }; 7049 };
4188 } 7050 }
4189 7051
@@ -4197,6 +7059,15 @@
4197 } 7059 }
4198 7060
4199 { 7061 {
7062 name = "readable_stream___readable_stream_2.3.7.tgz";
7063 path = fetchurl {
7064 name = "readable_stream___readable_stream_2.3.7.tgz";
7065 url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
7066 sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
7067 };
7068 }
7069
7070 {
4200 name = "readdirp___readdirp_2.2.1.tgz"; 7071 name = "readdirp___readdirp_2.2.1.tgz";
4201 path = fetchurl { 7072 path = fetchurl {
4202 name = "readdirp___readdirp_2.2.1.tgz"; 7073 name = "readdirp___readdirp_2.2.1.tgz";
@@ -4206,6 +7077,15 @@
4206 } 7077 }
4207 7078
4208 { 7079 {
7080 name = "readline2___readline2_0.1.1.tgz";
7081 path = fetchurl {
7082 name = "readline2___readline2_0.1.1.tgz";
7083 url = "https://registry.yarnpkg.com/readline2/-/readline2-0.1.1.tgz";
7084 sha1 = "99443ba6e83b830ef3051bfd7dc241a82728d568";
7085 };
7086 }
7087
7088 {
4209 name = "rechoir___rechoir_0.6.2.tgz"; 7089 name = "rechoir___rechoir_0.6.2.tgz";
4210 path = fetchurl { 7090 path = fetchurl {
4211 name = "rechoir___rechoir_0.6.2.tgz"; 7091 name = "rechoir___rechoir_0.6.2.tgz";
@@ -4224,6 +7104,24 @@
4224 } 7104 }
4225 7105
4226 { 7106 {
7107 name = "redeyed___redeyed_0.4.4.tgz";
7108 path = fetchurl {
7109 name = "redeyed___redeyed_0.4.4.tgz";
7110 url = "https://registry.yarnpkg.com/redeyed/-/redeyed-0.4.4.tgz";
7111 sha1 = "37e990a6f2b21b2a11c2e6a48fd4135698cba97f";
7112 };
7113 }
7114
7115 {
7116 name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
7117 path = fetchurl {
7118 name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
7119 url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
7120 sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
7121 };
7122 }
7123
7124 {
4227 name = "regex_cache___regex_cache_0.4.4.tgz"; 7125 name = "regex_cache___regex_cache_0.4.4.tgz";
4228 path = fetchurl { 7126 path = fetchurl {
4229 name = "regex_cache___regex_cache_0.4.4.tgz"; 7127 name = "regex_cache___regex_cache_0.4.4.tgz";
@@ -4242,6 +7140,15 @@
4242 } 7140 }
4243 7141
4244 { 7142 {
7143 name = "registry_url___registry_url_3.1.0.tgz";
7144 path = fetchurl {
7145 name = "registry_url___registry_url_3.1.0.tgz";
7146 url = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz";
7147 sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
7148 };
7149 }
7150
7151 {
4245 name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; 7152 name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
4246 path = fetchurl { 7153 path = fetchurl {
4247 name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; 7154 name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
@@ -4296,11 +7203,83 @@
4296 } 7203 }
4297 7204
4298 { 7205 {
4299 name = "request___request_2.88.0.tgz"; 7206 name = "replace_ext___replace_ext_1.0.0.tgz";
4300 path = fetchurl { 7207 path = fetchurl {
4301 name = "request___request_2.88.0.tgz"; 7208 name = "replace_ext___replace_ext_1.0.0.tgz";
4302 url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; 7209 url = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz";
4303 sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; 7210 sha1 = "de63128373fcbf7c3ccfa4de5a480c45a67958eb";
7211 };
7212 }
7213
7214 {
7215 name = "replacestream___replacestream_4.0.3.tgz";
7216 path = fetchurl {
7217 name = "replacestream___replacestream_4.0.3.tgz";
7218 url = "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.3.tgz";
7219 sha1 = "3ee5798092be364b1cdb1484308492cb3dff2f36";
7220 };
7221 }
7222
7223 {
7224 name = "request_progress___request_progress_0.3.1.tgz";
7225 path = fetchurl {
7226 name = "request_progress___request_progress_0.3.1.tgz";
7227 url = "https://registry.yarnpkg.com/request-progress/-/request-progress-0.3.1.tgz";
7228 sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
7229 };
7230 }
7231
7232 {
7233 name = "request_replay___request_replay_0.2.0.tgz";
7234 path = fetchurl {
7235 name = "request_replay___request_replay_0.2.0.tgz";
7236 url = "https://registry.yarnpkg.com/request-replay/-/request-replay-0.2.0.tgz";
7237 sha1 = "9b693a5d118b39f5c596ead5ed91a26444057f60";
7238 };
7239 }
7240
7241 {
7242 name = "request___request_2.88.2.tgz";
7243 path = fetchurl {
7244 name = "request___request_2.88.2.tgz";
7245 url = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
7246 sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
7247 };
7248 }
7249
7250 {
7251 name = "request___request_2.27.0.tgz";
7252 path = fetchurl {
7253 name = "request___request_2.27.0.tgz";
7254 url = "https://registry.yarnpkg.com/request/-/request-2.27.0.tgz";
7255 sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
7256 };
7257 }
7258
7259 {
7260 name = "request___request_2.36.0.tgz";
7261 path = fetchurl {
7262 name = "request___request_2.36.0.tgz";
7263 url = "https://registry.yarnpkg.com/request/-/request-2.36.0.tgz";
7264 sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
7265 };
7266 }
7267
7268 {
7269 name = "request___request_2.40.0.tgz";
7270 path = fetchurl {
7271 name = "request___request_2.40.0.tgz";
7272 url = "https://registry.yarnpkg.com/request/-/request-2.40.0.tgz";
7273 sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
7274 };
7275 }
7276
7277 {
7278 name = "request___request_2.51.0.tgz";
7279 path = fetchurl {
7280 name = "request___request_2.51.0.tgz";
7281 url = "https://registry.yarnpkg.com/request/-/request-2.51.0.tgz";
7282 sha1 = "35d00bbecc012e55f907b1bd9e0dbd577bfef26e";
4304 }; 7283 };
4305 } 7284 }
4306 7285
@@ -4350,6 +7329,15 @@
4350 } 7329 }
4351 7330
4352 { 7331 {
7332 name = "resolve___resolve_0.6.3.tgz";
7333 path = fetchurl {
7334 name = "resolve___resolve_0.6.3.tgz";
7335 url = "https://registry.yarnpkg.com/resolve/-/resolve-0.6.3.tgz";
7336 sha1 = "dd957982e7e736debdf53b58a4dd91754575dd46";
7337 };
7338 }
7339
7340 {
4353 name = "resolve___resolve_1.1.7.tgz"; 7341 name = "resolve___resolve_1.1.7.tgz";
4354 path = fetchurl { 7342 path = fetchurl {
4355 name = "resolve___resolve_1.1.7.tgz"; 7343 name = "resolve___resolve_1.1.7.tgz";
@@ -4359,11 +7347,20 @@
4359 } 7347 }
4360 7348
4361 { 7349 {
4362 name = "resolve___resolve_1.10.0.tgz"; 7350 name = "resolve___resolve_1.15.1.tgz";
4363 path = fetchurl { 7351 path = fetchurl {
4364 name = "resolve___resolve_1.10.0.tgz"; 7352 name = "resolve___resolve_1.15.1.tgz";
4365 url = "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz"; 7353 url = "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz";
4366 sha1 = "3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"; 7354 sha1 = "27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8";
7355 };
7356 }
7357
7358 {
7359 name = "resolve___resolve_0.3.1.tgz";
7360 path = fetchurl {
7361 name = "resolve___resolve_0.3.1.tgz";
7362 url = "https://registry.yarnpkg.com/resolve/-/resolve-0.3.1.tgz";
7363 sha1 = "34c63447c664c70598d1c9b126fc43b2a24310a4";
4367 }; 7364 };
4368 } 7365 }
4369 7366
@@ -4377,11 +7374,83 @@
4377 } 7374 }
4378 7375
4379 { 7376 {
4380 name = "rimraf___rimraf_2.6.3.tgz"; 7377 name = "retry___retry_0.6.1.tgz";
7378 path = fetchurl {
7379 name = "retry___retry_0.6.1.tgz";
7380 url = "https://registry.yarnpkg.com/retry/-/retry-0.6.1.tgz";
7381 sha1 = "fdc90eed943fde11b893554b8cc63d0e899ba918";
7382 };
7383 }
7384
7385 {
7386 name = "rfile___rfile_1.0.0.tgz";
7387 path = fetchurl {
7388 name = "rfile___rfile_1.0.0.tgz";
7389 url = "https://registry.yarnpkg.com/rfile/-/rfile-1.0.0.tgz";
7390 sha1 = "59708cf90ca1e74c54c3cfc5c36fdb9810435261";
7391 };
7392 }
7393
7394 {
7395 name = "right_align___right_align_0.1.3.tgz";
7396 path = fetchurl {
7397 name = "right_align___right_align_0.1.3.tgz";
7398 url = "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz";
7399 sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
7400 };
7401 }
7402
7403 {
7404 name = "rimraf___rimraf_2.7.1.tgz";
7405 path = fetchurl {
7406 name = "rimraf___rimraf_2.7.1.tgz";
7407 url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
7408 sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
7409 };
7410 }
7411
7412 {
7413 name = "rimraf___rimraf_2.2.8.tgz";
7414 path = fetchurl {
7415 name = "rimraf___rimraf_2.2.8.tgz";
7416 url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz";
7417 sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
7418 };
7419 }
7420
7421 {
7422 name = "rimraf___rimraf_2.4.5.tgz";
7423 path = fetchurl {
7424 name = "rimraf___rimraf_2.4.5.tgz";
7425 url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz";
7426 sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
7427 };
7428 }
7429
7430 {
7431 name = "ruglify___ruglify_1.0.0.tgz";
7432 path = fetchurl {
7433 name = "ruglify___ruglify_1.0.0.tgz";
7434 url = "https://registry.yarnpkg.com/ruglify/-/ruglify-1.0.0.tgz";
7435 sha1 = "dc8930e2a9544a274301cc9972574c0d0986b675";
7436 };
7437 }
7438
7439 {
7440 name = "run_sequence___run_sequence_1.1.5.tgz";
7441 path = fetchurl {
7442 name = "run_sequence___run_sequence_1.1.5.tgz";
7443 url = "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.1.5.tgz";
7444 sha1 = "556bd47eb47877349e36c9c582748897db7be4f7";
7445 };
7446 }
7447
7448 {
7449 name = "safe_buffer___safe_buffer_5.2.0.tgz";
4381 path = fetchurl { 7450 path = fetchurl {
4382 name = "rimraf___rimraf_2.6.3.tgz"; 7451 name = "safe_buffer___safe_buffer_5.2.0.tgz";
4383 url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz"; 7452 url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz";
4384 sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"; 7453 sha1 = "b74daec49b1148f88c64b68d49b1e815c1f2f519";
4385 }; 7454 };
4386 } 7455 }
4387 7456
@@ -4440,11 +7509,20 @@
4440 } 7509 }
4441 7510
4442 { 7511 {
4443 name = "semver___semver_5.6.0.tgz"; 7512 name = "semver_diff___semver_diff_2.1.0.tgz";
4444 path = fetchurl { 7513 path = fetchurl {
4445 name = "semver___semver_5.6.0.tgz"; 7514 name = "semver_diff___semver_diff_2.1.0.tgz";
4446 url = "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz"; 7515 url = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz";
4447 sha1 = "7e74256fbaa49c75aa7c7a205cc22799cac80004"; 7516 sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
7517 };
7518 }
7519
7520 {
7521 name = "semver___semver_5.7.1.tgz";
7522 path = fetchurl {
7523 name = "semver___semver_5.7.1.tgz";
7524 url = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
7525 sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
4448 }; 7526 };
4449 } 7527 }
4450 7528
@@ -4458,6 +7536,15 @@
4458 } 7536 }
4459 7537
4460 { 7538 {
7539 name = "semver___semver_2.3.2.tgz";
7540 path = fetchurl {
7541 name = "semver___semver_2.3.2.tgz";
7542 url = "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz";
7543 sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
7544 };
7545 }
7546
7547 {
4461 name = "semver___semver_5.3.0.tgz"; 7548 name = "semver___semver_5.3.0.tgz";
4462 path = fetchurl { 7549 path = fetchurl {
4463 name = "semver___semver_5.3.0.tgz"; 7550 name = "semver___semver_5.3.0.tgz";
@@ -4467,6 +7554,15 @@
4467 } 7554 }
4468 7555
4469 { 7556 {
7557 name = "send___send_0.13.2.tgz";
7558 path = fetchurl {
7559 name = "send___send_0.13.2.tgz";
7560 url = "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz";
7561 sha1 = "765e7607c8055452bba6f0b052595350986036de";
7562 };
7563 }
7564
7565 {
4470 name = "sequencify___sequencify_0.0.7.tgz"; 7566 name = "sequencify___sequencify_0.0.7.tgz";
4471 path = fetchurl { 7567 path = fetchurl {
4472 name = "sequencify___sequencify_0.0.7.tgz"; 7568 name = "sequencify___sequencify_0.0.7.tgz";
@@ -4476,6 +7572,15 @@
4476 } 7572 }
4477 7573
4478 { 7574 {
7575 name = "serve_static___serve_static_1.10.3.tgz";
7576 path = fetchurl {
7577 name = "serve_static___serve_static_1.10.3.tgz";
7578 url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz";
7579 sha1 = "ce5a6ecd3101fed5ec09827dac22a9c29bfb0535";
7580 };
7581 }
7582
7583 {
4479 name = "set_blocking___set_blocking_2.0.0.tgz"; 7584 name = "set_blocking___set_blocking_2.0.0.tgz";
4480 path = fetchurl { 7585 path = fetchurl {
4481 name = "set_blocking___set_blocking_2.0.0.tgz"; 7586 name = "set_blocking___set_blocking_2.0.0.tgz";
@@ -4485,29 +7590,47 @@
4485 } 7590 }
4486 7591
4487 { 7592 {
4488 name = "set_value___set_value_0.4.3.tgz"; 7593 name = "set_value___set_value_2.0.1.tgz";
7594 path = fetchurl {
7595 name = "set_value___set_value_2.0.1.tgz";
7596 url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
7597 sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
7598 };
7599 }
7600
7601 {
7602 name = "setprototypeof___setprototypeof_1.1.1.tgz";
4489 path = fetchurl { 7603 path = fetchurl {
4490 name = "set_value___set_value_0.4.3.tgz"; 7604 name = "setprototypeof___setprototypeof_1.1.1.tgz";
4491 url = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz"; 7605 url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
4492 sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"; 7606 sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
4493 }; 7607 };
4494 } 7608 }
4495 7609
4496 { 7610 {
4497 name = "set_value___set_value_2.0.0.tgz"; 7611 name = "shallow_copy___shallow_copy_0.0.1.tgz";
4498 path = fetchurl { 7612 path = fetchurl {
4499 name = "set_value___set_value_2.0.0.tgz"; 7613 name = "shallow_copy___shallow_copy_0.0.1.tgz";
4500 url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz"; 7614 url = "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz";
4501 sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"; 7615 sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
4502 }; 7616 };
4503 } 7617 }
4504 7618
4505 { 7619 {
4506 name = "setprototypeof___setprototypeof_1.1.0.tgz"; 7620 name = "shell_quote___shell_quote_0.0.1.tgz";
4507 path = fetchurl { 7621 path = fetchurl {
4508 name = "setprototypeof___setprototypeof_1.1.0.tgz"; 7622 name = "shell_quote___shell_quote_0.0.1.tgz";
4509 url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; 7623 url = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-0.0.1.tgz";
4510 sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; 7624 sha1 = "1a41196f3c0333c482323593d6886ecf153dd986";
7625 };
7626 }
7627
7628 {
7629 name = "shell_quote___shell_quote_1.4.3.tgz";
7630 path = fetchurl {
7631 name = "shell_quote___shell_quote_1.4.3.tgz";
7632 url = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.4.3.tgz";
7633 sha1 = "952c44e0b1ed9013ef53958179cc643e8777466b";
4511 }; 7634 };
4512 } 7635 }
4513 7636
@@ -4521,11 +7644,29 @@
4521 } 7644 }
4522 7645
4523 { 7646 {
4524 name = "signal_exit___signal_exit_3.0.2.tgz"; 7647 name = "signal_exit___signal_exit_3.0.3.tgz";
7648 path = fetchurl {
7649 name = "signal_exit___signal_exit_3.0.3.tgz";
7650 url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz";
7651 sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c";
7652 };
7653 }
7654
7655 {
7656 name = "simple_fmt___simple_fmt_0.1.0.tgz";
4525 path = fetchurl { 7657 path = fetchurl {
4526 name = "signal_exit___signal_exit_3.0.2.tgz"; 7658 name = "simple_fmt___simple_fmt_0.1.0.tgz";
4527 url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; 7659 url = "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz";
4528 sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; 7660 sha1 = "191bf566a59e6530482cb25ab53b4a8dc85c3a6b";
7661 };
7662 }
7663
7664 {
7665 name = "simple_is___simple_is_0.2.0.tgz";
7666 path = fetchurl {
7667 name = "simple_is___simple_is_0.2.0.tgz";
7668 url = "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz";
7669 sha1 = "2abb75aade39deb5cc815ce10e6191164850baf0";
4529 }; 7670 };
4530 } 7671 }
4531 7672
@@ -4557,6 +7698,15 @@
4557 } 7698 }
4558 7699
4559 { 7700 {
7701 name = "sntp___sntp_0.2.4.tgz";
7702 path = fetchurl {
7703 name = "sntp___sntp_0.2.4.tgz";
7704 url = "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz";
7705 sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
7706 };
7707 }
7708
7709 {
4560 name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; 7710 name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz";
4561 path = fetchurl { 7711 path = fetchurl {
4562 name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz"; 7712 name = "socket.io_adapter___socket.io_adapter_0.5.0.tgz";
@@ -4593,11 +7743,11 @@
4593 } 7743 }
4594 7744
4595 { 7745 {
4596 name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; 7746 name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
4597 path = fetchurl { 7747 path = fetchurl {
4598 name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; 7748 name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
4599 url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; 7749 url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
4600 sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; 7750 sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
4601 }; 7751 };
4602 } 7752 }
4603 7753
@@ -4611,6 +7761,24 @@
4611 } 7761 }
4612 7762
4613 { 7763 {
7764 name = "source_map___source_map_0.1.34.tgz";
7765 path = fetchurl {
7766 name = "source_map___source_map_0.1.34.tgz";
7767 url = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz";
7768 sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
7769 };
7770 }
7771
7772 {
7773 name = "source_map___source_map_0.1.43.tgz";
7774 path = fetchurl {
7775 name = "source_map___source_map_0.1.43.tgz";
7776 url = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz";
7777 sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
7778 };
7779 }
7780
7781 {
4614 name = "source_map___source_map_0.4.4.tgz"; 7782 name = "source_map___source_map_0.4.4.tgz";
4615 path = fetchurl { 7783 path = fetchurl {
4616 name = "source_map___source_map_0.4.4.tgz"; 7784 name = "source_map___source_map_0.4.4.tgz";
@@ -4647,6 +7815,15 @@
4647 } 7815 }
4648 7816
4649 { 7817 {
7818 name = "source_map___source_map_0.3.0.tgz";
7819 path = fetchurl {
7820 name = "source_map___source_map_0.3.0.tgz";
7821 url = "https://registry.yarnpkg.com/source-map/-/source-map-0.3.0.tgz";
7822 sha1 = "8586fb9a5a005e5b501e21cd18b6f21b457ad1f9";
7823 };
7824 }
7825
7826 {
4650 name = "sparkles___sparkles_1.0.1.tgz"; 7827 name = "sparkles___sparkles_1.0.1.tgz";
4651 path = fetchurl { 7828 path = fetchurl {
4652 name = "sparkles___sparkles_1.0.1.tgz"; 7829 name = "sparkles___sparkles_1.0.1.tgz";
@@ -4683,11 +7860,11 @@
4683 } 7860 }
4684 7861
4685 { 7862 {
4686 name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; 7863 name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
4687 path = fetchurl { 7864 path = fetchurl {
4688 name = "spdx_license_ids___spdx_license_ids_3.0.3.tgz"; 7865 name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
4689 url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz"; 7866 url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
4690 sha1 = "81c0ce8f21474756148bbb5f3bfc0f36bf15d76e"; 7867 sha1 = "3694b5804567a458d3c8045842a6358632f62654";
4691 }; 7868 };
4692 } 7869 }
4693 7870
@@ -4701,6 +7878,15 @@
4701 } 7878 }
4702 7879
4703 { 7880 {
7881 name = "split___split_0.3.3.tgz";
7882 path = fetchurl {
7883 name = "split___split_0.3.3.tgz";
7884 url = "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz";
7885 sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
7886 };
7887 }
7888
7889 {
4704 name = "split___split_1.0.1.tgz"; 7890 name = "split___split_1.0.1.tgz";
4705 path = fetchurl { 7891 path = fetchurl {
4706 name = "split___split_1.0.1.tgz"; 7892 name = "split___split_1.0.1.tgz";
@@ -4728,6 +7914,15 @@
4728 } 7914 }
4729 7915
4730 { 7916 {
7917 name = "stable___stable_0.1.8.tgz";
7918 path = fetchurl {
7919 name = "stable___stable_0.1.8.tgz";
7920 url = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
7921 sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
7922 };
7923 }
7924
7925 {
4731 name = "static_extend___static_extend_0.1.2.tgz"; 7926 name = "static_extend___static_extend_0.1.2.tgz";
4732 path = fetchurl { 7927 path = fetchurl {
4733 name = "static_extend___static_extend_0.1.2.tgz"; 7928 name = "static_extend___static_extend_0.1.2.tgz";
@@ -4746,11 +7941,11 @@
4746 } 7941 }
4747 7942
4748 { 7943 {
4749 name = "statuses___statuses_1.3.1.tgz"; 7944 name = "statuses___statuses_1.2.1.tgz";
4750 path = fetchurl { 7945 path = fetchurl {
4751 name = "statuses___statuses_1.3.1.tgz"; 7946 name = "statuses___statuses_1.2.1.tgz";
4752 url = "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz"; 7947 url = "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz";
4753 sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"; 7948 sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
4754 }; 7949 };
4755 } 7950 }
4756 7951
@@ -4764,6 +7959,15 @@
4764 } 7959 }
4765 7960
4766 { 7961 {
7962 name = "stream_browserify___stream_browserify_0.1.3.tgz";
7963 path = fetchurl {
7964 name = "stream_browserify___stream_browserify_0.1.3.tgz";
7965 url = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-0.1.3.tgz";
7966 sha1 = "95cf1b369772e27adaf46352265152689c6c4be9";
7967 };
7968 }
7969
7970 {
4767 name = "stream_combiner___stream_combiner_0.2.2.tgz"; 7971 name = "stream_combiner___stream_combiner_0.2.2.tgz";
4768 path = fetchurl { 7972 path = fetchurl {
4769 name = "stream_combiner___stream_combiner_0.2.2.tgz"; 7973 name = "stream_combiner___stream_combiner_0.2.2.tgz";
@@ -4773,6 +7977,24 @@
4773 } 7977 }
4774 7978
4775 { 7979 {
7980 name = "stream_combiner___stream_combiner_0.0.4.tgz";
7981 path = fetchurl {
7982 name = "stream_combiner___stream_combiner_0.0.4.tgz";
7983 url = "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz";
7984 sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
7985 };
7986 }
7987
7988 {
7989 name = "stream_combiner___stream_combiner_0.1.0.tgz";
7990 path = fetchurl {
7991 name = "stream_combiner___stream_combiner_0.1.0.tgz";
7992 url = "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.1.0.tgz";
7993 sha1 = "0dc389a3c203f8f4d56368f95dde52eb9269b5be";
7994 };
7995 }
7996
7997 {
4776 name = "stream_consume___stream_consume_0.1.1.tgz"; 7998 name = "stream_consume___stream_consume_0.1.1.tgz";
4777 path = fetchurl { 7999 path = fetchurl {
4778 name = "stream_consume___stream_consume_0.1.1.tgz"; 8000 name = "stream_consume___stream_consume_0.1.1.tgz";
@@ -4782,6 +8004,24 @@
4782 } 8004 }
4783 8005
4784 { 8006 {
8007 name = "stream_shift___stream_shift_1.0.1.tgz";
8008 path = fetchurl {
8009 name = "stream_shift___stream_shift_1.0.1.tgz";
8010 url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz";
8011 sha1 = "d7088281559ab2778424279b0877da3c392d5a3d";
8012 };
8013 }
8014
8015 {
8016 name = "string_length___string_length_1.0.1.tgz";
8017 path = fetchurl {
8018 name = "string_length___string_length_1.0.1.tgz";
8019 url = "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz";
8020 sha1 = "56970fb1c38558e9e70b728bf3de269ac45adfac";
8021 };
8022 }
8023
8024 {
4785 name = "string_width___string_width_1.0.2.tgz"; 8025 name = "string_width___string_width_1.0.2.tgz";
4786 path = fetchurl { 8026 path = fetchurl {
4787 name = "string_width___string_width_1.0.2.tgz"; 8027 name = "string_width___string_width_1.0.2.tgz";
@@ -4800,6 +8040,15 @@
4800 } 8040 }
4801 8041
4802 { 8042 {
8043 name = "string_decoder___string_decoder_0.0.1.tgz";
8044 path = fetchurl {
8045 name = "string_decoder___string_decoder_0.0.1.tgz";
8046 url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.0.1.tgz";
8047 sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141";
8048 };
8049 }
8050
8051 {
4803 name = "string_decoder___string_decoder_0.10.31.tgz"; 8052 name = "string_decoder___string_decoder_0.10.31.tgz";
4804 path = fetchurl { 8053 path = fetchurl {
4805 name = "string_decoder___string_decoder_0.10.31.tgz"; 8054 name = "string_decoder___string_decoder_0.10.31.tgz";
@@ -4818,6 +8067,42 @@
4818 } 8067 }
4819 8068
4820 { 8069 {
8070 name = "stringify_object___stringify_object_0.2.1.tgz";
8071 path = fetchurl {
8072 name = "stringify_object___stringify_object_0.2.1.tgz";
8073 url = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-0.2.1.tgz";
8074 sha1 = "b58be50b3ff5f371038c545d4332656bfded5620";
8075 };
8076 }
8077
8078 {
8079 name = "stringmap___stringmap_0.2.2.tgz";
8080 path = fetchurl {
8081 name = "stringmap___stringmap_0.2.2.tgz";
8082 url = "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz";
8083 sha1 = "556c137b258f942b8776f5b2ef582aa069d7d1b1";
8084 };
8085 }
8086
8087 {
8088 name = "stringset___stringset_0.2.1.tgz";
8089 path = fetchurl {
8090 name = "stringset___stringset_0.2.1.tgz";
8091 url = "https://registry.yarnpkg.com/stringset/-/stringset-0.2.1.tgz";
8092 sha1 = "ef259c4e349344377fcd1c913dd2e848c9c042b5";
8093 };
8094 }
8095
8096 {
8097 name = "stringstream___stringstream_0.0.6.tgz";
8098 path = fetchurl {
8099 name = "stringstream___stringstream_0.0.6.tgz";
8100 url = "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz";
8101 sha1 = "7880225b0d4ad10e30927d167a1d6f2fd3b33a72";
8102 };
8103 }
8104
8105 {
4821 name = "strip_ansi___strip_ansi_0.3.0.tgz"; 8106 name = "strip_ansi___strip_ansi_0.3.0.tgz";
4822 path = fetchurl { 8107 path = fetchurl {
4823 name = "strip_ansi___strip_ansi_0.3.0.tgz"; 8108 name = "strip_ansi___strip_ansi_0.3.0.tgz";
@@ -4827,6 +8112,15 @@
4827 } 8112 }
4828 8113
4829 { 8114 {
8115 name = "strip_ansi___strip_ansi_2.0.1.tgz";
8116 path = fetchurl {
8117 name = "strip_ansi___strip_ansi_2.0.1.tgz";
8118 url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-2.0.1.tgz";
8119 sha1 = "df62c1aa94ed2f114e1d0f21fd1d50482b79a60e";
8120 };
8121 }
8122
8123 {
4830 name = "strip_ansi___strip_ansi_3.0.1.tgz"; 8124 name = "strip_ansi___strip_ansi_3.0.1.tgz";
4831 path = fetchurl { 8125 path = fetchurl {
4832 name = "strip_ansi___strip_ansi_3.0.1.tgz"; 8126 name = "strip_ansi___strip_ansi_3.0.1.tgz";
@@ -4845,6 +8139,15 @@
4845 } 8139 }
4846 8140
4847 { 8141 {
8142 name = "strip_ansi___strip_ansi_0.1.1.tgz";
8143 path = fetchurl {
8144 name = "strip_ansi___strip_ansi_0.1.1.tgz";
8145 url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz";
8146 sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
8147 };
8148 }
8149
8150 {
4848 name = "strip_bom___strip_bom_1.0.0.tgz"; 8151 name = "strip_bom___strip_bom_1.0.0.tgz";
4849 path = fetchurl { 8152 path = fetchurl {
4850 name = "strip_bom___strip_bom_1.0.0.tgz"; 8153 name = "strip_bom___strip_bom_1.0.0.tgz";
@@ -4881,6 +8184,15 @@
4881 } 8184 }
4882 8185
4883 { 8186 {
8187 name = "subarg___subarg_0.0.1.tgz";
8188 path = fetchurl {
8189 name = "subarg___subarg_0.0.1.tgz";
8190 url = "https://registry.yarnpkg.com/subarg/-/subarg-0.0.1.tgz";
8191 sha1 = "3d56b07dacfbc45bbb63f7672b43b63e46368e3a";
8192 };
8193 }
8194
8195 {
4884 name = "supports_color___supports_color_0.2.0.tgz"; 8196 name = "supports_color___supports_color_0.2.0.tgz";
4885 path = fetchurl { 8197 path = fetchurl {
4886 name = "supports_color___supports_color_0.2.0.tgz"; 8198 name = "supports_color___supports_color_0.2.0.tgz";
@@ -4908,20 +8220,92 @@
4908 } 8220 }
4909 8221
4910 { 8222 {
4911 name = "tar___tar_2.2.1.tgz"; 8223 name = "supports_color___supports_color_7.1.0.tgz";
8224 path = fetchurl {
8225 name = "supports_color___supports_color_7.1.0.tgz";
8226 url = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz";
8227 sha1 = "68e32591df73e25ad1c4b49108a2ec507962bfd1";
8228 };
8229 }
8230
8231 {
8232 name = "syntax_error___syntax_error_1.1.6.tgz";
8233 path = fetchurl {
8234 name = "syntax_error___syntax_error_1.1.6.tgz";
8235 url = "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.1.6.tgz";
8236 sha1 = "b4549706d386cc1c1dc7c2423f18579b6cade710";
8237 };
8238 }
8239
8240 {
8241 name = "tar___tar_2.2.2.tgz";
8242 path = fetchurl {
8243 name = "tar___tar_2.2.2.tgz";
8244 url = "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz";
8245 sha1 = "0ca8848562c7299b8b446ff6a4d60cdbb23edc40";
8246 };
8247 }
8248
8249 {
8250 name = "tar___tar_4.4.13.tgz";
8251 path = fetchurl {
8252 name = "tar___tar_4.4.13.tgz";
8253 url = "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz";
8254 sha1 = "43b364bc52888d555298637b10d60790254ab525";
8255 };
8256 }
8257
8258 {
8259 name = "tar___tar_0.1.20.tgz";
8260 path = fetchurl {
8261 name = "tar___tar_0.1.20.tgz";
8262 url = "https://registry.yarnpkg.com/tar/-/tar-0.1.20.tgz";
8263 sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
8264 };
8265 }
8266
8267 {
8268 name = "ternary_stream___ternary_stream_2.1.1.tgz";
8269 path = fetchurl {
8270 name = "ternary_stream___ternary_stream_2.1.1.tgz";
8271 url = "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.1.1.tgz";
8272 sha1 = "4ad64b98668d796a085af2c493885a435a8a8bfc";
8273 };
8274 }
8275
8276 {
8277 name = "textextensions___textextensions_1.0.2.tgz";
8278 path = fetchurl {
8279 name = "textextensions___textextensions_1.0.2.tgz";
8280 url = "https://registry.yarnpkg.com/textextensions/-/textextensions-1.0.2.tgz";
8281 sha1 = "65486393ee1f2bb039a60cbba05b0b68bd9501d2";
8282 };
8283 }
8284
8285 {
8286 name = "throttleit___throttleit_0.0.2.tgz";
4912 path = fetchurl { 8287 path = fetchurl {
4913 name = "tar___tar_2.2.1.tgz"; 8288 name = "throttleit___throttleit_0.0.2.tgz";
4914 url = "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz"; 8289 url = "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz";
4915 sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"; 8290 sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
4916 }; 8291 };
4917 } 8292 }
4918 8293
4919 { 8294 {
4920 name = "tar___tar_4.4.8.tgz"; 8295 name = "through2___through2_0.4.2.tgz";
4921 path = fetchurl { 8296 path = fetchurl {
4922 name = "tar___tar_4.4.8.tgz"; 8297 name = "through2___through2_0.4.2.tgz";
4923 url = "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz"; 8298 url = "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz";
4924 sha1 = "b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"; 8299 sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
8300 };
8301 }
8302
8303 {
8304 name = "through2___through2_0.5.1.tgz";
8305 path = fetchurl {
8306 name = "through2___through2_0.5.1.tgz";
8307 url = "https://registry.yarnpkg.com/through2/-/through2-0.5.1.tgz";
8308 sha1 = "dfdd012eb9c700e2323fd334f38ac622ab372da7";
4925 }; 8309 };
4926 } 8310 }
4927 8311
@@ -4953,6 +8337,15 @@
4953 } 8337 }
4954 8338
4955 { 8339 {
8340 name = "through___through_2.2.7.tgz";
8341 path = fetchurl {
8342 name = "through___through_2.2.7.tgz";
8343 url = "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz";
8344 sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd";
8345 };
8346 }
8347
8348 {
4956 name = "tildify___tildify_1.2.0.tgz"; 8349 name = "tildify___tildify_1.2.0.tgz";
4957 path = fetchurl { 8350 path = fetchurl {
4958 name = "tildify___tildify_1.2.0.tgz"; 8351 name = "tildify___tildify_1.2.0.tgz";
@@ -4971,6 +8364,42 @@
4971 } 8364 }
4972 8365
4973 { 8366 {
8367 name = "timed_out___timed_out_2.0.0.tgz";
8368 path = fetchurl {
8369 name = "timed_out___timed_out_2.0.0.tgz";
8370 url = "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz";
8371 sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
8372 };
8373 }
8374
8375 {
8376 name = "timers_browserify___timers_browserify_1.0.3.tgz";
8377 path = fetchurl {
8378 name = "timers_browserify___timers_browserify_1.0.3.tgz";
8379 url = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.0.3.tgz";
8380 sha1 = "ffba70c9c12eed916fd67318e629ac6f32295551";
8381 };
8382 }
8383
8384 {
8385 name = "timers_ext___timers_ext_0.1.7.tgz";
8386 path = fetchurl {
8387 name = "timers_ext___timers_ext_0.1.7.tgz";
8388 url = "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz";
8389 sha1 = "6f57ad8578e07a3fb9f91d9387d65647555e25c6";
8390 };
8391 }
8392
8393 {
8394 name = "tmp___tmp_0.0.23.tgz";
8395 path = fetchurl {
8396 name = "tmp___tmp_0.0.23.tgz";
8397 url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.23.tgz";
8398 sha1 = "de874aa5e974a85f0a32cdfdbd74663cb3bd9c74";
8399 };
8400 }
8401
8402 {
4974 name = "tmp___tmp_0.0.33.tgz"; 8403 name = "tmp___tmp_0.0.33.tgz";
4975 path = fetchurl { 8404 path = fetchurl {
4976 name = "tmp___tmp_0.0.33.tgz"; 8405 name = "tmp___tmp_0.0.33.tgz";
@@ -4989,6 +8418,15 @@
4989 } 8418 }
4990 8419
4991 { 8420 {
8421 name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
8422 path = fetchurl {
8423 name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
8424 url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
8425 sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
8426 };
8427 }
8428
8429 {
4992 name = "to_object_path___to_object_path_0.3.0.tgz"; 8430 name = "to_object_path___to_object_path_0.3.0.tgz";
4993 path = fetchurl { 8431 path = fetchurl {
4994 name = "to_object_path___to_object_path_0.3.0.tgz"; 8432 name = "to_object_path___to_object_path_0.3.0.tgz";
@@ -5016,11 +8454,56 @@
5016 } 8454 }
5017 8455
5018 { 8456 {
5019 name = "tough_cookie___tough_cookie_2.4.3.tgz"; 8457 name = "toidentifier___toidentifier_1.0.0.tgz";
5020 path = fetchurl { 8458 path = fetchurl {
5021 name = "tough_cookie___tough_cookie_2.4.3.tgz"; 8459 name = "toidentifier___toidentifier_1.0.0.tgz";
5022 url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; 8460 url = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
5023 sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; 8461 sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
8462 };
8463 }
8464
8465 {
8466 name = "token_stream___token_stream_0.0.1.tgz";
8467 path = fetchurl {
8468 name = "token_stream___token_stream_0.0.1.tgz";
8469 url = "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz";
8470 sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a";
8471 };
8472 }
8473
8474 {
8475 name = "touch___touch_0.0.2.tgz";
8476 path = fetchurl {
8477 name = "touch___touch_0.0.2.tgz";
8478 url = "https://registry.yarnpkg.com/touch/-/touch-0.0.2.tgz";
8479 sha1 = "a65a777795e5cbbe1299499bdc42281ffb21b5f4";
8480 };
8481 }
8482
8483 {
8484 name = "tough_cookie___tough_cookie_4.0.0.tgz";
8485 path = fetchurl {
8486 name = "tough_cookie___tough_cookie_4.0.0.tgz";
8487 url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz";
8488 sha1 = "d822234eeca882f991f0f908824ad2622ddbece4";
8489 };
8490 }
8491
8492 {
8493 name = "tough_cookie___tough_cookie_2.5.0.tgz";
8494 path = fetchurl {
8495 name = "tough_cookie___tough_cookie_2.5.0.tgz";
8496 url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
8497 sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
8498 };
8499 }
8500
8501 {
8502 name = "traverse___traverse_0.3.9.tgz";
8503 path = fetchurl {
8504 name = "traverse___traverse_0.3.9.tgz";
8505 url = "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz";
8506 sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
5024 }; 8507 };
5025 } 8508 }
5026 8509
@@ -5043,6 +8526,24 @@
5043 } 8526 }
5044 8527
5045 { 8528 {
8529 name = "tryor___tryor_0.1.2.tgz";
8530 path = fetchurl {
8531 name = "tryor___tryor_0.1.2.tgz";
8532 url = "https://registry.yarnpkg.com/tryor/-/tryor-0.1.2.tgz";
8533 sha1 = "8145e4ca7caff40acde3ccf946e8b8bb75b4172b";
8534 };
8535 }
8536
8537 {
8538 name = "tty_browserify___tty_browserify_0.0.1.tgz";
8539 path = fetchurl {
8540 name = "tty_browserify___tty_browserify_0.0.1.tgz";
8541 url = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz";
8542 sha1 = "3f05251ee17904dfd0677546670db9651682b811";
8543 };
8544 }
8545
8546 {
5046 name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; 8547 name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
5047 path = fetchurl { 8548 path = fetchurl {
5048 name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; 8549 name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
@@ -5052,6 +8553,24 @@
5052 } 8553 }
5053 8554
5054 { 8555 {
8556 name = "tunnel_agent___tunnel_agent_0.3.0.tgz";
8557 path = fetchurl {
8558 name = "tunnel_agent___tunnel_agent_0.3.0.tgz";
8559 url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
8560 sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
8561 };
8562 }
8563
8564 {
8565 name = "tunnel_agent___tunnel_agent_0.4.3.tgz";
8566 path = fetchurl {
8567 name = "tunnel_agent___tunnel_agent_0.4.3.tgz";
8568 url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
8569 sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
8570 };
8571 }
8572
8573 {
5055 name = "tweetnacl___tweetnacl_0.14.5.tgz"; 8574 name = "tweetnacl___tweetnacl_0.14.5.tgz";
5056 path = fetchurl { 8575 path = fetchurl {
5057 name = "tweetnacl___tweetnacl_0.14.5.tgz"; 8576 name = "tweetnacl___tweetnacl_0.14.5.tgz";
@@ -5070,20 +8589,110 @@
5070 } 8589 }
5071 8590
5072 { 8591 {
5073 name = "type_is___type_is_1.6.16.tgz"; 8592 name = "type_is___type_is_1.6.18.tgz";
8593 path = fetchurl {
8594 name = "type_is___type_is_1.6.18.tgz";
8595 url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
8596 sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
8597 };
8598 }
8599
8600 {
8601 name = "type___type_1.2.0.tgz";
5074 path = fetchurl { 8602 path = fetchurl {
5075 name = "type_is___type_is_1.6.16.tgz"; 8603 name = "type___type_1.2.0.tgz";
5076 url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz"; 8604 url = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
5077 sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194"; 8605 sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
5078 }; 8606 };
5079 } 8607 }
5080 8608
5081 { 8609 {
5082 name = "uglify_js___uglify_js_3.4.9.tgz"; 8610 name = "type___type_2.0.0.tgz";
5083 path = fetchurl { 8611 path = fetchurl {
5084 name = "uglify_js___uglify_js_3.4.9.tgz"; 8612 name = "type___type_2.0.0.tgz";
5085 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz"; 8613 url = "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz";
5086 sha1 = "af02f180c1207d76432e473ed24a28f4a782bae3"; 8614 sha1 = "5f16ff6ef2eb44f260494dae271033b29c09a9c3";
8615 };
8616 }
8617
8618 {
8619 name = "typedarray___typedarray_0.0.6.tgz";
8620 path = fetchurl {
8621 name = "typedarray___typedarray_0.0.6.tgz";
8622 url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
8623 sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
8624 };
8625 }
8626
8627 {
8628 name = "uglify_js___uglify_js_2.5.0.tgz";
8629 path = fetchurl {
8630 name = "uglify_js___uglify_js_2.5.0.tgz";
8631 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.5.0.tgz";
8632 sha1 = "4ab5d65a4730ecb7a4fb62d3f499e2054d98fba1";
8633 };
8634 }
8635
8636 {
8637 name = "uglify_js___uglify_js_2.8.29.tgz";
8638 path = fetchurl {
8639 name = "uglify_js___uglify_js_2.8.29.tgz";
8640 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz";
8641 sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
8642 };
8643 }
8644
8645 {
8646 name = "uglify_js___uglify_js_3.8.1.tgz";
8647 path = fetchurl {
8648 name = "uglify_js___uglify_js_3.8.1.tgz";
8649 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.1.tgz";
8650 sha1 = "43bb15ce6f545eaa0a64c49fd29375ea09fa0f93";
8651 };
8652 }
8653
8654 {
8655 name = "uglify_js___uglify_js_2.2.5.tgz";
8656 path = fetchurl {
8657 name = "uglify_js___uglify_js_2.2.5.tgz";
8658 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.2.5.tgz";
8659 sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
8660 };
8661 }
8662
8663 {
8664 name = "uglify_js___uglify_js_2.3.6.tgz";
8665 path = fetchurl {
8666 name = "uglify_js___uglify_js_2.3.6.tgz";
8667 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz";
8668 sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
8669 };
8670 }
8671
8672 {
8673 name = "uglify_js___uglify_js_2.4.24.tgz";
8674 path = fetchurl {
8675 name = "uglify_js___uglify_js_2.4.24.tgz";
8676 url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.4.24.tgz";
8677 sha1 = "fad5755c1e1577658bb06ff9ab6e548c95bebd6e";
8678 };
8679 }
8680
8681 {
8682 name = "uglify_save_license___uglify_save_license_0.4.1.tgz";
8683 path = fetchurl {
8684 name = "uglify_save_license___uglify_save_license_0.4.1.tgz";
8685 url = "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz";
8686 sha1 = "95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1";
8687 };
8688 }
8689
8690 {
8691 name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
8692 path = fetchurl {
8693 name = "uglify_to_browserify___uglify_to_browserify_1.0.2.tgz";
8694 url = "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
8695 sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
5087 }; 8696 };
5088 } 8697 }
5089 8698
@@ -5097,6 +8706,15 @@
5097 } 8706 }
5098 8707
5099 { 8708 {
8709 name = "umd___umd_2.0.0.tgz";
8710 path = fetchurl {
8711 name = "umd___umd_2.0.0.tgz";
8712 url = "https://registry.yarnpkg.com/umd/-/umd-2.0.0.tgz";
8713 sha1 = "749683b0d514728ae0e1b6195f5774afc0ad4f8f";
8714 };
8715 }
8716
8717 {
5100 name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; 8718 name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
5101 path = fetchurl { 8719 path = fetchurl {
5102 name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; 8720 name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
@@ -5106,11 +8724,29 @@
5106 } 8724 }
5107 8725
5108 { 8726 {
5109 name = "union_value___union_value_1.0.0.tgz"; 8727 name = "underscore.string___underscore.string_2.4.0.tgz";
8728 path = fetchurl {
8729 name = "underscore.string___underscore.string_2.4.0.tgz";
8730 url = "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz";
8731 sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
8732 };
8733 }
8734
8735 {
8736 name = "underscore___underscore_1.7.0.tgz";
8737 path = fetchurl {
8738 name = "underscore___underscore_1.7.0.tgz";
8739 url = "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz";
8740 sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
8741 };
8742 }
8743
8744 {
8745 name = "union_value___union_value_1.0.1.tgz";
5110 path = fetchurl { 8746 path = fetchurl {
5111 name = "union_value___union_value_1.0.0.tgz"; 8747 name = "union_value___union_value_1.0.1.tgz";
5112 url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz"; 8748 url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
5113 sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"; 8749 sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
5114 }; 8750 };
5115 } 8751 }
5116 8752
@@ -5124,6 +8760,15 @@
5124 } 8760 }
5125 8761
5126 { 8762 {
8763 name = "universalify___universalify_0.1.2.tgz";
8764 path = fetchurl {
8765 name = "universalify___universalify_0.1.2.tgz";
8766 url = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
8767 sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
8768 };
8769 }
8770
8771 {
5127 name = "unpipe___unpipe_1.0.0.tgz"; 8772 name = "unpipe___unpipe_1.0.0.tgz";
5128 path = fetchurl { 8773 path = fetchurl {
5129 name = "unpipe___unpipe_1.0.0.tgz"; 8774 name = "unpipe___unpipe_1.0.0.tgz";
@@ -5142,6 +8787,15 @@
5142 } 8787 }
5143 8788
5144 { 8789 {
8790 name = "update_notifier___update_notifier_0.2.2.tgz";
8791 path = fetchurl {
8792 name = "update_notifier___update_notifier_0.2.2.tgz";
8793 url = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.2.2.tgz";
8794 sha1 = "e69b3a784b4e686a2acd98f5e66944591996e187";
8795 };
8796 }
8797
8798 {
5145 name = "uri_js___uri_js_4.2.2.tgz"; 8799 name = "uri_js___uri_js_4.2.2.tgz";
5146 path = fetchurl { 8800 path = fetchurl {
5147 name = "uri_js___uri_js_4.2.2.tgz"; 8801 name = "uri_js___uri_js_4.2.2.tgz";
@@ -5160,6 +8814,15 @@
5160 } 8814 }
5161 8815
5162 { 8816 {
8817 name = "url___url_0.10.3.tgz";
8818 path = fetchurl {
8819 name = "url___url_0.10.3.tgz";
8820 url = "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz";
8821 sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
8822 };
8823 }
8824
8825 {
5163 name = "use___use_3.1.1.tgz"; 8826 name = "use___use_3.1.1.tgz";
5164 path = fetchurl { 8827 path = fetchurl {
5165 name = "use___use_3.1.1.tgz"; 8828 name = "use___use_3.1.1.tgz";
@@ -5196,6 +8859,24 @@
5196 } 8859 }
5197 8860
5198 { 8861 {
8862 name = "util___util_0.10.3.tgz";
8863 path = fetchurl {
8864 name = "util___util_0.10.3.tgz";
8865 url = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
8866 sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
8867 };
8868 }
8869
8870 {
8871 name = "util___util_0.10.4.tgz";
8872 path = fetchurl {
8873 name = "util___util_0.10.4.tgz";
8874 url = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz";
8875 sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901";
8876 };
8877 }
8878
8879 {
5199 name = "utils_merge___utils_merge_1.0.1.tgz"; 8880 name = "utils_merge___utils_merge_1.0.1.tgz";
5200 path = fetchurl { 8881 path = fetchurl {
5201 name = "utils_merge___utils_merge_1.0.1.tgz"; 8882 name = "utils_merge___utils_merge_1.0.1.tgz";
@@ -5205,11 +8886,29 @@
5205 } 8886 }
5206 8887
5207 { 8888 {
5208 name = "uuid___uuid_3.3.2.tgz"; 8889 name = "uuid___uuid_2.0.3.tgz";
5209 path = fetchurl { 8890 path = fetchurl {
5210 name = "uuid___uuid_3.3.2.tgz"; 8891 name = "uuid___uuid_2.0.3.tgz";
5211 url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; 8892 url = "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz";
5212 sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; 8893 sha1 = "67e2e863797215530dff318e5bf9dcebfd47b21a";
8894 };
8895 }
8896
8897 {
8898 name = "uuid___uuid_3.4.0.tgz";
8899 path = fetchurl {
8900 name = "uuid___uuid_3.4.0.tgz";
8901 url = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
8902 sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
8903 };
8904 }
8905
8906 {
8907 name = "uuid___uuid_1.4.2.tgz";
8908 path = fetchurl {
8909 name = "uuid___uuid_1.4.2.tgz";
8910 url = "https://registry.yarnpkg.com/uuid/-/uuid-1.4.2.tgz";
8911 sha1 = "453019f686966a6df83cdc5244e7c990ecc332fc";
5213 }; 8912 };
5214 } 8913 }
5215 8914
@@ -5250,6 +8949,15 @@
5250 } 8949 }
5251 8950
5252 { 8951 {
8952 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.1.4.tgz";
8953 path = fetchurl {
8954 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.1.4.tgz";
8955 url = "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz";
8956 sha1 = "c5fcbd43e2f238423c2dc98bddd6f79b72bc345b";
8957 };
8958 }
8959
8960 {
5253 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz"; 8961 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz";
5254 path = fetchurl { 8962 path = fetchurl {
5255 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz"; 8963 name = "vinyl_sourcemaps_apply___vinyl_sourcemaps_apply_0.2.1.tgz";
@@ -5259,6 +8967,15 @@
5259 } 8967 }
5260 8968
5261 { 8969 {
8970 name = "vinyl___vinyl_0.2.3.tgz";
8971 path = fetchurl {
8972 name = "vinyl___vinyl_0.2.3.tgz";
8973 url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz";
8974 sha1 = "bca938209582ec5a49ad538a00fa1f125e513252";
8975 };
8976 }
8977
8978 {
5262 name = "vinyl___vinyl_0.4.6.tgz"; 8979 name = "vinyl___vinyl_0.4.6.tgz";
5263 path = fetchurl { 8980 path = fetchurl {
5264 name = "vinyl___vinyl_0.4.6.tgz"; 8981 name = "vinyl___vinyl_0.4.6.tgz";
@@ -5277,6 +8994,33 @@
5277 } 8994 }
5278 8995
5279 { 8996 {
8997 name = "vinyl___vinyl_1.2.0.tgz";
8998 path = fetchurl {
8999 name = "vinyl___vinyl_1.2.0.tgz";
9000 url = "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz";
9001 sha1 = "5c88036cf565e5df05558bfc911f8656df218884";
9002 };
9003 }
9004
9005 {
9006 name = "vinyl___vinyl_2.2.0.tgz";
9007 path = fetchurl {
9008 name = "vinyl___vinyl_2.2.0.tgz";
9009 url = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz";
9010 sha1 = "d85b07da96e458d25b2ffe19fece9f2caa13ed86";
9011 };
9012 }
9013
9014 {
9015 name = "vm_browserify___vm_browserify_0.0.4.tgz";
9016 path = fetchurl {
9017 name = "vm_browserify___vm_browserify_0.0.4.tgz";
9018 url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz";
9019 sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
9020 };
9021 }
9022
9023 {
5280 name = "void_elements___void_elements_2.0.1.tgz"; 9024 name = "void_elements___void_elements_2.0.1.tgz";
5281 path = fetchurl { 9025 path = fetchurl {
5282 name = "void_elements___void_elements_2.0.1.tgz"; 9026 name = "void_elements___void_elements_2.0.1.tgz";
@@ -5286,11 +9030,11 @@
5286 } 9030 }
5287 9031
5288 { 9032 {
5289 name = "websocket_driver___websocket_driver_0.7.0.tgz"; 9033 name = "websocket_driver___websocket_driver_0.7.3.tgz";
5290 path = fetchurl { 9034 path = fetchurl {
5291 name = "websocket_driver___websocket_driver_0.7.0.tgz"; 9035 name = "websocket_driver___websocket_driver_0.7.3.tgz";
5292 url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz"; 9036 url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
5293 sha1 = "0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"; 9037 sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
5294 }; 9038 };
5295 } 9039 }
5296 9040
@@ -5322,6 +9066,15 @@
5322 } 9066 }
5323 9067
5324 { 9068 {
9069 name = "which___which_1.0.9.tgz";
9070 path = fetchurl {
9071 name = "which___which_1.0.9.tgz";
9072 url = "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz";
9073 sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
9074 };
9075 }
9076
9077 {
5325 name = "wide_align___wide_align_1.1.3.tgz"; 9078 name = "wide_align___wide_align_1.1.3.tgz";
5326 path = fetchurl { 9079 path = fetchurl {
5327 name = "wide_align___wide_align_1.1.3.tgz"; 9080 name = "wide_align___wide_align_1.1.3.tgz";
@@ -5331,6 +9084,42 @@
5331 } 9084 }
5332 9085
5333 { 9086 {
9087 name = "window_size___window_size_0.1.0.tgz";
9088 path = fetchurl {
9089 name = "window_size___window_size_0.1.0.tgz";
9090 url = "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz";
9091 sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
9092 };
9093 }
9094
9095 {
9096 name = "with___with_5.1.1.tgz";
9097 path = fetchurl {
9098 name = "with___with_5.1.1.tgz";
9099 url = "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz";
9100 sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
9101 };
9102 }
9103
9104 {
9105 name = "word_wrap___word_wrap_1.2.3.tgz";
9106 path = fetchurl {
9107 name = "word_wrap___word_wrap_1.2.3.tgz";
9108 url = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz";
9109 sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c";
9110 };
9111 }
9112
9113 {
9114 name = "wordwrap___wordwrap_0.0.2.tgz";
9115 path = fetchurl {
9116 name = "wordwrap___wordwrap_0.0.2.tgz";
9117 url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz";
9118 sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
9119 };
9120 }
9121
9122 {
5334 name = "wordwrap___wordwrap_1.0.0.tgz"; 9123 name = "wordwrap___wordwrap_1.0.0.tgz";
5335 path = fetchurl { 9124 path = fetchurl {
5336 name = "wordwrap___wordwrap_1.0.0.tgz"; 9125 name = "wordwrap___wordwrap_1.0.0.tgz";
@@ -5385,6 +9174,15 @@
5385 } 9174 }
5386 9175
5387 { 9176 {
9177 name = "xdg_basedir___xdg_basedir_1.0.1.tgz";
9178 path = fetchurl {
9179 name = "xdg_basedir___xdg_basedir_1.0.1.tgz";
9180 url = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-1.0.1.tgz";
9181 sha1 = "14ff8f63a4fdbcb05d5b6eea22b36f3033b9f04e";
9182 };
9183 }
9184
9185 {
5388 name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; 9186 name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz";
5389 path = fetchurl { 9187 path = fetchurl {
5390 name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz"; 9188 name = "xmlhttprequest_ssl___xmlhttprequest_ssl_1.5.3.tgz";
@@ -5394,11 +9192,29 @@
5394 } 9192 }
5395 9193
5396 { 9194 {
5397 name = "xtend___xtend_4.0.1.tgz"; 9195 name = "xtend___xtend_4.0.2.tgz";
9196 path = fetchurl {
9197 name = "xtend___xtend_4.0.2.tgz";
9198 url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
9199 sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
9200 };
9201 }
9202
9203 {
9204 name = "xtend___xtend_3.0.0.tgz";
5398 path = fetchurl { 9205 path = fetchurl {
5399 name = "xtend___xtend_4.0.1.tgz"; 9206 name = "xtend___xtend_3.0.0.tgz";
5400 url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; 9207 url = "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz";
5401 sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; 9208 sha1 = "5cce7407baf642cba7becda568111c493f59665a";
9209 };
9210 }
9211
9212 {
9213 name = "xtend___xtend_2.1.2.tgz";
9214 path = fetchurl {
9215 name = "xtend___xtend_2.1.2.tgz";
9216 url = "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz";
9217 sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
5402 }; 9218 };
5403 } 9219 }
5404 9220
@@ -5421,11 +9237,11 @@
5421 } 9237 }
5422 9238
5423 { 9239 {
5424 name = "yallist___yallist_3.0.3.tgz"; 9240 name = "yallist___yallist_3.1.1.tgz";
5425 path = fetchurl { 9241 path = fetchurl {
5426 name = "yallist___yallist_3.0.3.tgz"; 9242 name = "yallist___yallist_3.1.1.tgz";
5427 url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz"; 9243 url = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
5428 sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9"; 9244 sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
5429 }; 9245 };
5430 } 9246 }
5431 9247
@@ -5448,6 +9264,24 @@
5448 } 9264 }
5449 9265
5450 { 9266 {
9267 name = "yargs___yargs_3.10.0.tgz";
9268 path = fetchurl {
9269 name = "yargs___yargs_3.10.0.tgz";
9270 url = "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz";
9271 sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
9272 };
9273 }
9274
9275 {
9276 name = "yargs___yargs_3.5.4.tgz";
9277 path = fetchurl {
9278 name = "yargs___yargs_3.5.4.tgz";
9279 url = "https://registry.yarnpkg.com/yargs/-/yargs-3.5.4.tgz";
9280 sha1 = "d8aff8f665e94c34bd259bdebd1bfaf0ddd35361";
9281 };
9282 }
9283
9284 {
5451 name = "yeast___yeast_0.1.2.tgz"; 9285 name = "yeast___yeast_0.1.2.tgz";
5452 path = fetchurl { 9286 path = fetchurl {
5453 name = "yeast___yeast_0.1.2.tgz"; 9287 name = "yeast___yeast_0.1.2.tgz";
diff --git a/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch b/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch
deleted file mode 100644
index 2a08a5c..0000000
--- a/pkgs/webapps/davical/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1diff --git a/inc/ui/collection-edit.php b/inc/ui/collection-edit.php
2index 3af9edd3b8c4ad9074113273175098841af6a28e..8c1d84012b035f7bc7faedcb24916581a02a5d3e 100644
3--- a/inc/ui/collection-edit.php
4+++ b/inc/ui/collection-edit.php
5@@ -190,7 +190,7 @@ $privilege_xlate = array(
6 * @param dbrow $row The row object we read from the database.
7 * @return string The formatted privileges.
8 */
9-function collection_privilege_format_function( $value, $column, $row ) {
10+function collection_privilege_format_function( $value, $column = NULL, $row = NULL ) {
11 global $privilege_xlate;
12
13 $privs = bits_to_privilege($value, 'calendar');
14diff --git a/inc/ui/principal-edit.php b/inc/ui/principal-edit.php
15index 20dee7fa4ca2235ff2f74be0dfb52cbe937ef822..2e37cd596b597bcce1e59d7c02a1c5fc2a7f88ce 100644
16--- a/inc/ui/principal-edit.php
17+++ b/inc/ui/principal-edit.php
18@@ -454,7 +454,7 @@ EOTEMPLATE;
19 * @param dbrow $row The row object we read from the database.
20 * @return string The formatted privileges.
21 */
22-function principal_privilege_format_function( $value, $column, $row ) {
23+function principal_privilege_format_function( $value, $column = NULL, $row = NULL ) {
24 global $privilege_xlate;
25
26 $privs = bits_to_privilege($value,'*');
diff --git a/pkgs/webapps/davical/default.nix b/pkgs/webapps/davical/default.nix
index 52d8736..6735553 100644
--- a/pkgs/webapps/davical/default.nix
+++ b/pkgs/webapps/davical/default.nix
@@ -1,16 +1,15 @@
1{ davical_config ? "/etc/davical/config.php", stdenv, fetchurl, gettext }: 1{ davical_config ? "/etc/davical/config.php", stdenv, fetchurl, gettext }:
2stdenv.mkDerivation rec { 2stdenv.mkDerivation rec {
3 version = "1.1.7"; 3 version = "1.1.9.2";
4 name = "davical-${version}"; 4 name = "davical-${version}";
5 src = fetchurl { 5 src = fetchurl {
6 url = "https://www.davical.org/downloads/davical_${version}.orig.tar.xz"; 6 url = "https://www.davical.org/downloads/davical_${version}.orig.tar.xz";
7 sha256 = "1ar5m2dxr92b204wkdi8z33ir9vz2jbh5k1p74icpv9ywifvjjp9"; 7 sha256 = "133p7fl544df2rqw1nbnj5nj6bvb9kng9q0c3iqrqlpawq3a6ilh";
8 }; 8 };
9 unpackCmd = '' 9 unpackCmd = ''
10 tar --one-top-level -xf $curSrc 10 tar --one-top-level -xf $curSrc
11 ''; 11 '';
12 makeFlags = "all"; 12 makeFlags = "all";
13 patches = [ ./davical_19eb79ebf9250e5f339675319902458c40ed1755.patch ];
14 installPhase = '' 13 installPhase = ''
15 mkdir -p $out 14 mkdir -p $out
16 cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out 15 cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out
diff --git a/pkgs/webapps/diaspora/default.nix b/pkgs/webapps/diaspora/default.nix
index eff8d27..b435347 100644
--- a/pkgs/webapps/diaspora/default.nix
+++ b/pkgs/webapps/diaspora/default.nix
@@ -15,10 +15,6 @@ let
15 }); 15 });
16 gems = bundlerEnv { 16 gems = bundlerEnv {
17 name = "diaspora-env"; 17 name = "diaspora-env";
18 # https://git.immae.eu/mantisbt/view.php?id=131
19 ruby = ruby_2_4.overrideAttrs(old: {
20 postInstall = builtins.replaceStrings [" --destdir $GEM_HOME"] [""] old.postInstall;
21 });
22 gemfile = "${diaspora_src}/Gemfile"; 18 gemfile = "${diaspora_src}/Gemfile";
23 lockfile = "${diaspora_src}/Gemfile.lock"; 19 lockfile = "${diaspora_src}/Gemfile.lock";
24 gemset = if ldap then ./gemset_ldap.nix else ./gemset.nix; 20 gemset = if ldap then ./gemset_ldap.nix else ./gemset.nix;
diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix
index 643daed..f6393fe 100644
--- a/pkgs/webapps/mediagoblin/default.nix
+++ b/pkgs/webapps/mediagoblin/default.nix
@@ -2,6 +2,15 @@
2let 2let
3 overridePython = let 3 overridePython = let
4 packageOverrides = self: super: { 4 packageOverrides = self: super: {
5 pybcrypt = super.buildPythonPackage rec {
6 pname = "pybcrypt";
7 version = "0.4";
8
9 src = self.fetchPypi {
10 inherit pname version;
11 sha256 = "5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78";
12 };
13 };
5 celery = super.celery.overridePythonAttrs(old: rec { 14 celery = super.celery.overridePythonAttrs(old: rec {
6 version = "3.1.26.post2"; 15 version = "3.1.26.post2";
7 src = self.fetchPypi { 16 src = self.fetchPypi {
@@ -45,6 +54,7 @@ let
45 inherit (old) pname; 54 inherit (old) pname;
46 sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9"; 55 sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9";
47 }; 56 };
57 doCheck = false;
48 }); 58 });
49 tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec { 59 tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec {
50 buildInputs = with self; [ nose ]; 60 buildInputs = with self; [ nose ];
diff --git a/pkgs/webapps/peertube/default.nix b/pkgs/webapps/peertube/default.nix
index a04d490..8995419 100644
--- a/pkgs/webapps/peertube/default.nix
+++ b/pkgs/webapps/peertube/default.nix
@@ -3,7 +3,7 @@
3let 3let
4 nodeHeaders = fetchurl { 4 nodeHeaders = fetchurl {
5 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; 5 url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
6 sha256 = "16f20ya3ys6w5w6y6l4536f7jrgk4gz46bf71w1r1xxb26a54m32"; 6 sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
7 }; 7 };
8 patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { 8 patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec {
9 patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; 9 patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ];
@@ -33,8 +33,8 @@ let
33 buildInputs = [ nodePackages.node-pre-gyp ]; 33 buildInputs = [ nodePackages.node-pre-gyp ];
34 postInstall = let 34 postInstall = let
35 bcrypt_lib = fetchurl { 35 bcrypt_lib = fetchurl {
36 url = "https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.2/bcrypt_lib-v3.0.2-node-v57-linux-x64-glibc.tar.gz"; 36 url = "https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.2/bcrypt_lib-v3.0.2-node-v64-linux-x64-glibc.tar.gz";
37 sha256 = "04bj3yn1wi8a6izihskyks0bb4nls3mndgb2yj12iraiv5dmg097"; 37 sha256 = "0i0dx4h52fqi3mda2zzqrxp2fh7spbvf7h88mjk218h8d7vl53yx";
38 }; 38 };
39 in 39 in
40 '' 40 ''