summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2017-11-08 07:08:20 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2017-11-08 16:03:01 +0100
commite9bf6c4104e9836582ac40baf0c04dfc8545d256 (patch)
tree65e0a7a0ce9eb2567e3fd885a7fc900292ef48d9 /pkgs
parent1925b4c1a06c6c03431ab45f10ef369125d57f6f (diff)
downloadnixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar.gz
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar.bz2
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar.lz
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar.xz
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.tar.zst
nixlib-e9bf6c4104e9836582ac40baf0c04dfc8545d256.zip
zed: replace npm2nix with node2nix
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/zed/default.nix24
-rw-r--r--pkgs/applications/editors/zed/deps.json6
-rwxr-xr-xpkgs/applications/editors/zed/deps.sh7
-rw-r--r--pkgs/applications/editors/zed/node-packages.nix877
-rw-r--r--pkgs/applications/editors/zed/node.nix1839
5 files changed, 914 insertions, 1839 deletions
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 0170319871f0..bcf262957bc5 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -5,22 +5,16 @@ let
   name = "zed-${version}";
   version = "1.1.0";
 
-  # When upgrading node.nix / node packages:
-  #   fetch package.json from Zed's repository
-  #   run `npm2nix package.json node.nix`
-  #   and replace node.nix with new one
-  nodePackages = import ../../../../pkgs/top-level/node-packages.nix {
+  nodePackages = import ./node.nix {
     inherit pkgs;
-    inherit (pkgs) stdenv nodejs fetchurl fetchgit;
-    neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
-    self = nodePackages;
-    generated = ./node.nix;
+    system = stdenv.system;
   };
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages."body-parser" nodePackages.express
-      nodePackages.request nodePackages.tar nodePackages.ws ];
+    paths = [ nodePackages."body-parser-~1.6.3" nodePackages."express-~4.8.3"
+      nodePackages."request-~2.34.0" nodePackages."tar-~0.1.19"
+      nodePackages."ws-~0.4.32" ];
     pathsToLink = [ "/lib" ];
     ignoreCollisions = true;
   };
@@ -78,11 +72,11 @@ in stdenv.mkDerivation rec {
     ln -s ${zed_script} $out/bin/zed
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A fully offline-capable, open source, keyboard-focused, text and code editor for power users";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     homepage = http://zedapp.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ matejc ma27 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/zed/deps.json b/pkgs/applications/editors/zed/deps.json
new file mode 100644
index 000000000000..d3a7708d156f
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.json
@@ -0,0 +1,6 @@
+[ { "body-parser": "~1.6.3" }
+, { "express": "~4.8.3" }
+, { "request": "~2.34.0" }
+, { "tar": "~0.1.19" }
+, { "ws": "~0.4.32" }
+]
diff --git a/pkgs/applications/editors/zed/deps.sh b/pkgs/applications/editors/zed/deps.sh
new file mode 100755
index 000000000000..6d2bf29532e9
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  -e ../../../development/node-packages/node-env.nix \
+  --no-copy-node-env \
+  -c node.nix
diff --git a/pkgs/applications/editors/zed/node-packages.nix b/pkgs/applications/editors/zed/node-packages.nix
new file mode 100644
index 000000000000..5aaa75b6c914
--- /dev/null
+++ b/pkgs/applications/editors/zed/node-packages.nix
@@ -0,0 +1,877 @@
+# This file has been generated by node2nix 1.3.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "bytes-1.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    };
+    "depd-0.4.4" = {
+      name = "depd";
+      packageName = "depd";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      };
+    };
+    "iconv-lite-0.4.4" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      };
+    };
+    "media-typer-0.2.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
+        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
+      };
+    };
+    "on-finished-2.1.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      };
+    };
+    "qs-2.2.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
+      };
+    };
+    "raw-body-1.3.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      };
+    };
+    "type-is-1.3.2" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+      };
+    };
+    "ee-first-1.0.5" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      };
+    };
+    "mime-types-1.0.2" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      };
+    };
+    "accepts-1.0.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
+        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
+      };
+    };
+    "buffer-crc32-0.2.3" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      };
+    };
+    "debug-1.0.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      };
+    };
+    "escape-html-1.0.1" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      };
+    };
+    "finalhandler-0.1.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
+        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
+      };
+    };
+    "methods-1.1.0" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      };
+    };
+    "parseurl-1.3.2" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
+        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
+      };
+    };
+    "path-to-regexp-0.1.3" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      };
+    };
+    "proxy-addr-1.0.1" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      };
+    };
+    "range-parser-1.0.0" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
+        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
+      };
+    };
+    "send-0.8.5" = {
+      name = "send";
+      packageName = "send";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
+      };
+    };
+    "serve-static-1.5.4" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
+      };
+    };
+    "vary-0.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
+        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
+      };
+    };
+    "cookie-0.1.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      };
+    };
+    "fresh-0.2.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
+        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
+      };
+    };
+    "cookie-signature-1.0.4" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
+        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
+      };
+    };
+    "merge-descriptors-0.0.2" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      };
+    };
+    "utils-merge-1.0.0" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    };
+    "negotiator-0.4.7" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      };
+    };
+    "ms-0.6.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      };
+    };
+    "ipaddr.js-0.1.2" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      };
+    };
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      };
+    };
+    "qs-0.6.6" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "forever-agent-0.5.2" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      };
+    };
+    "node-uuid-1.4.8" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
+        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
+      };
+    };
+    "tough-cookie-2.3.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
+        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
+      };
+    };
+    "form-data-0.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      };
+    };
+    "tunnel-agent-0.3.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+      };
+    };
+    "http-signature-0.10.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+      };
+    };
+    "oauth-sign-0.3.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+      };
+    };
+    "hawk-1.0.0" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      };
+    };
+    "aws-sign2-0.5.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "combined-stream-0.0.7" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+      };
+    };
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    };
+    "delayed-stream-0.0.5" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      };
+    };
+    "assert-plus-0.1.5" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+      };
+    };
+    "asn1-0.1.11" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      };
+    };
+    "ctype-0.5.3" = {
+      name = "ctype";
+      packageName = "ctype";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+      };
+    };
+    "hoek-0.9.1" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      };
+    };
+    "boom-0.4.2" = {
+      name = "boom";
+      packageName = "boom";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      };
+    };
+    "cryptiles-0.2.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      };
+    };
+    "sntp-0.2.4" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      };
+    };
+    "block-stream-0.0.9" = {
+      name = "block-stream";
+      packageName = "block-stream";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    };
+    "fstream-0.1.31" = {
+      name = "fstream";
+      packageName = "fstream";
+      version = "0.1.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "graceful-fs-3.0.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz";
+        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "rimraf-2.6.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
+        sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
+      };
+    };
+    "natives-1.1.0" = {
+      name = "natives";
+      packageName = "natives";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz";
+        sha1 = "e9ff841418a6b2ec7a495e939984f78f163e6e31";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "glob-7.1.2" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "brace-expansion-1.1.8" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "commander-2.1.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      };
+    };
+    "nan-1.0.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      };
+    };
+    "tinycolor-0.0.1" = {
+      name = "tinycolor";
+      packageName = "tinycolor";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      };
+    };
+    "options-0.0.6" = {
+      name = "options";
+      packageName = "options";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      };
+    };
+  };
+in
+{
+  "body-parser-~1.6.3" = nodeEnv.buildNodePackage {
+    name = "body-parser";
+    packageName = "body-parser";
+    version = "1.6.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+      sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
+    };
+    dependencies = [
+      sources."bytes-1.0.0"
+      sources."depd-0.4.4"
+      sources."iconv-lite-0.4.4"
+      sources."media-typer-0.2.0"
+      sources."on-finished-2.1.0"
+      sources."qs-2.2.2"
+      sources."raw-body-1.3.0"
+      sources."type-is-1.3.2"
+      sources."ee-first-1.0.5"
+      sources."mime-types-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Node.js body parsing middleware";
+      homepage = https://github.com/expressjs/body-parser;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "express-~4.8.3" = nodeEnv.buildNodePackage {
+    name = "express";
+    packageName = "express";
+    version = "4.8.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express/-/express-4.8.8.tgz";
+      sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
+    };
+    dependencies = [
+      sources."accepts-1.0.7"
+      sources."buffer-crc32-0.2.3"
+      sources."debug-1.0.4"
+      sources."depd-0.4.4"
+      sources."escape-html-1.0.1"
+      sources."finalhandler-0.1.0"
+      sources."media-typer-0.2.0"
+      sources."methods-1.1.0"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.3"
+      sources."proxy-addr-1.0.1"
+      sources."qs-2.2.2"
+      sources."range-parser-1.0.0"
+      sources."send-0.8.5"
+      sources."serve-static-1.5.4"
+      sources."type-is-1.3.2"
+      sources."vary-0.1.0"
+      sources."cookie-0.1.2"
+      sources."fresh-0.2.2"
+      sources."cookie-signature-1.0.4"
+      sources."merge-descriptors-0.0.2"
+      sources."utils-merge-1.0.0"
+      sources."mime-types-1.0.2"
+      sources."negotiator-0.4.7"
+      sources."ms-0.6.2"
+      sources."ipaddr.js-0.1.2"
+      sources."destroy-1.0.3"
+      sources."mime-1.2.11"
+      sources."on-finished-2.1.0"
+      sources."ee-first-1.0.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fast, unopinionated, minimalist web framework";
+      homepage = http://expressjs.com/;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "request-~2.34.0" = nodeEnv.buildNodePackage {
+    name = "request";
+    packageName = "request";
+    version = "2.34.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/request/-/request-2.34.0.tgz";
+      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+    };
+    dependencies = [
+      sources."qs-0.6.6"
+      sources."json-stringify-safe-5.0.1"
+      sources."forever-agent-0.5.2"
+      sources."node-uuid-1.4.8"
+      sources."mime-1.2.11"
+      sources."tough-cookie-2.3.3"
+      sources."form-data-0.1.4"
+      sources."tunnel-agent-0.3.0"
+      sources."http-signature-0.10.1"
+      sources."oauth-sign-0.3.0"
+      sources."hawk-1.0.0"
+      sources."aws-sign2-0.5.0"
+      sources."punycode-1.4.1"
+      sources."combined-stream-0.0.7"
+      sources."async-0.9.2"
+      sources."delayed-stream-0.0.5"
+      sources."assert-plus-0.1.5"
+      sources."asn1-0.1.11"
+      sources."ctype-0.5.3"
+      sources."hoek-0.9.1"
+      sources."boom-0.4.2"
+      sources."cryptiles-0.2.2"
+      sources."sntp-0.2.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplified HTTP request client.";
+      homepage = https://github.com/mikeal/request;
+      license = "Apache, Version 2.0";
+    };
+    production = true;
+  };
+  "tar-~0.1.19" = nodeEnv.buildNodePackage {
+    name = "tar";
+    packageName = "tar";
+    version = "0.1.20";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+    };
+    dependencies = [
+      sources."block-stream-0.0.9"
+      sources."fstream-0.1.31"
+      sources."inherits-2.0.3"
+      sources."graceful-fs-3.0.11"
+      sources."mkdirp-0.5.1"
+      sources."rimraf-2.6.2"
+      sources."natives-1.1.0"
+      sources."minimist-0.0.8"
+      sources."glob-7.1.2"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."wrappy-1.0.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "tar for node";
+      homepage = https://github.com/isaacs/node-tar;
+      license = "BSD";
+    };
+    production = true;
+  };
+  "ws-~0.4.32" = nodeEnv.buildNodePackage {
+    name = "ws";
+    packageName = "ws";
+    version = "0.4.32";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+    };
+    dependencies = [
+      sources."commander-2.1.0"
+      sources."nan-1.0.0"
+      sources."tinycolor-0.0.1"
+      sources."options-0.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455";
+      homepage = https://github.com/einaros/ws;
+    };
+    production = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index e74ff1ec45f4..ff0bf1eb8056 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,1825 +1,16 @@
-{ self, fetchurl, fetchgit ? null, lib }:
+# This file has been generated by node2nix 1.3.0. Do not edit!
 
-{
-  by-spec."accepts"."~1.2.7" =
-    self.by-version."accepts"."1.2.7";
-  by-version."accepts"."1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "accepts-1.2.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.2.7.tgz";
-        name = "accepts-1.2.7.tgz";
-        sha1 = "efea24e36e0b5b93d001a7598ac441c32ef56003";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."accepts" or []);
-    deps = {
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "accepts" ];
-  };
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "asn1-0.1.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        name = "asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asn1" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "asn1" ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-version."assert-plus"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-plus-0.1.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-        name = "assert-plus-0.1.5.tgz";
-        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
-  };
-  by-spec."async"."~0.9.0" =
-    self.by-version."async"."0.9.2";
-  by-version."async"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.9.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
-        name = "async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign2-0.5.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        name = "aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign2" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign2" ];
-  };
-  by-spec."balanced-match"."^0.2.0" =
-    self.by-version."balanced-match"."0.2.0";
-  by-version."balanced-match"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "balanced-match-0.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
-        name = "balanced-match-0.2.0.tgz";
-        sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."balanced-match" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "balanced-match" ];
-  };
-  by-spec."block-stream"."*" =
-    self.by-version."block-stream"."0.0.8";
-  by-version."block-stream"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz";
-        name = "block-stream-0.0.8.tgz";
-        sha1 = "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream" or []);
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  by-spec."body-parser"."^1.6.3" =
-    self.by-version."body-parser"."1.12.4";
-  by-version."body-parser"."1.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "body-parser-1.12.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.4.tgz";
-        name = "body-parser-1.12.4.tgz";
-        sha1 = "090700c4ba28862a8520ef378395fdee5f61c229";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."body-parser" or []);
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "raw-body-2.0.1" = self.by-version."raw-body"."2.0.1";
-      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "body-parser" ];
-  };
-  "body-parser" = self.by-version."body-parser"."1.12.4";
-  by-spec."boom"."0.4.x" =
-    self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-0.4.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        name = "boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
-  };
-  by-spec."brace-expansion"."^1.0.0" =
-    self.by-version."brace-expansion"."1.1.0";
-  by-version."brace-expansion"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "brace-expansion-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
-        name = "brace-expansion-1.1.0.tgz";
-        sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."brace-expansion" or []);
-    deps = {
-      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
-      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "brace-expansion" ];
-  };
-  by-spec."bytes"."1.0.0" =
-    self.by-version."bytes"."1.0.0";
-  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-        name = "bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."bytes"."2.0.1" =
-    self.by-version."bytes"."2.0.1";
-  by-version."bytes"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-2.0.1.tgz";
-        name = "bytes-2.0.1.tgz";
-        sha1 = "673743059be43d929f9c225dd7363ee0f8b15d97";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.7";
-  by-version."combined-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "combined-stream-0.0.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
-        name = "combined-stream-0.0.7.tgz";
-        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combined-stream" or []);
-    deps = {
-      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "combined-stream" ];
-  };
-  by-spec."commander"."~2.1.0" =
-    self.by-version."commander"."2.1.0";
-  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-        name = "commander-2.1.0.tgz";
-        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."concat-map"."0.0.1" =
-    self.by-version."concat-map"."0.0.1";
-  by-version."concat-map"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "concat-map-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        name = "concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."concat-map" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "concat-map" ];
-  };
-  by-spec."content-disposition"."0.5.0" =
-    self.by-version."content-disposition"."0.5.0";
-  by-version."content-disposition"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "content-disposition-0.5.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
-        name = "content-disposition-0.5.0.tgz";
-        sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-disposition" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-disposition" ];
-  };
-  by-spec."content-type"."~1.0.1" =
-    self.by-version."content-type"."1.0.1";
-  by-version."content-type"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "content-type-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
-        name = "content-type-1.0.1.tgz";
-        sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-type" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-type" ];
-  };
-  by-spec."cookie"."0.1.2" =
-    self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.1.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-        name = "cookie-0.1.2.tgz";
-        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
-  };
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-1.0.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-        name = "cookie-signature-1.0.6.tgz";
-        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."crc"."3.2.1" =
-    self.by-version."crc"."3.2.1";
-  by-version."crc"."3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "crc-3.2.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
-        name = "crc-3.2.1.tgz";
-        sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."cryptiles"."0.2.x" =
-    self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-0.2.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        name = "cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = {
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
-  };
-  by-spec."ctype"."0.5.3" =
-    self.by-version."ctype"."0.5.3";
-  by-version."ctype"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-0.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-        name = "ctype-0.5.3.tgz";
-        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
-  };
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-2.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-        name = "debug-2.2.0.tgz";
-        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."delayed-stream"."0.0.5" =
-    self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        name = "delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delayed-stream" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "delayed-stream" ];
-  };
-  by-spec."depd"."~1.0.1" =
-    self.by-version."depd"."1.0.1";
-  by-version."depd"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "depd-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
-        name = "depd-1.0.1.tgz";
-        sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
-  };
-  by-spec."destroy"."1.0.3" =
-    self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "destroy-1.0.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-        name = "destroy-1.0.3.tgz";
-        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."destroy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "destroy" ];
-  };
-  by-spec."ee-first"."1.1.0" =
-    self.by-version."ee-first"."1.1.0";
-  by-version."ee-first"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ee-first-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
-        name = "ee-first-1.1.0.tgz";
-        sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
-  };
-  by-spec."escape-html"."1.0.1" =
-    self.by-version."escape-html"."1.0.1";
-  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "escape-html-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
-        name = "escape-html-1.0.1.tgz";
-        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escape-html" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "escape-html" ];
-  };
-  by-spec."etag"."~1.6.0" =
-    self.by-version."etag"."1.6.0";
-  by-version."etag"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "etag-1.6.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/etag/-/etag-1.6.0.tgz";
-        name = "etag-1.6.0.tgz";
-        sha1 = "8bcb2c6af1254c481dfc8b997c906ef4e442c207";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."etag" or []);
-    deps = {
-      "crc-3.2.1" = self.by-version."crc"."3.2.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "etag" ];
-  };
-  by-spec."express"."^4.8.3" =
-    self.by-version."express"."4.12.4";
-  by-version."express"."4.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-4.12.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.12.4.tgz";
-        name = "express-4.12.4.tgz";
-        sha1 = "8fec2510255bc6b2e58107c48239c0fa307c1aa2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = {
-      "accepts-1.2.7" = self.by-version."accepts"."1.2.7";
-      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.6.0" = self.by-version."etag"."1.6.0";
-      "finalhandler-0.3.6" = self.by-version."finalhandler"."0.3.6";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
-      "methods-1.1.1" = self.by-version."methods"."1.1.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
-      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-      "send-0.12.3" = self.by-version."send"."0.12.3";
-      "serve-static-1.9.3" = self.by-version."serve-static"."1.9.3";
-      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
-      "vary-1.0.0" = self.by-version."vary"."1.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  "express" = self.by-version."express"."4.12.4";
-  by-spec."finalhandler"."0.3.6" =
-    self.by-version."finalhandler"."0.3.6";
-  by-version."finalhandler"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "finalhandler-0.3.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.6.tgz";
-        name = "finalhandler-0.3.6.tgz";
-        sha1 = "daf9c4161b1b06e001466b1411dfdb6973be138b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finalhandler" or []);
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "finalhandler" ];
-  };
-  by-spec."forever-agent"."~0.5.0" =
-    self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-0.5.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        name = "forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
-  };
-  by-spec."form-data"."~0.1.0" =
-    self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        name = "form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forwarded-0.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
-        name = "forwarded-0.1.0.tgz";
-        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forwarded" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forwarded" ];
-  };
-  by-spec."fresh"."0.2.4" =
-    self.by-version."fresh"."0.2.4";
-  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-0.2.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
-        name = "fresh-0.2.4.tgz";
-        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
-  };
-  by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.31";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream" or []);
-    deps = {
-      "graceful-fs-3.0.7" = self.by-version."graceful-fs"."3.0.7";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "rimraf-2.3.4" = self.by-version."rimraf"."2.3.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  by-spec."glob"."^4.4.2" =
-    self.by-version."glob"."4.5.3";
-  by-version."glob"."4.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-4.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
-        name = "glob-4.5.3.tgz";
-        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = {
-      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-2.0.8" = self.by-version."minimatch"."2.0.8";
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.7";
-  by-version."graceful-fs"."3.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-3.0.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz";
-        name = "graceful-fs-3.0.7.tgz";
-        sha1 = "e935be4b3e57892d289dc3bef7be8c02779d2b54";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  by-spec."hawk"."~1.0.0" =
-    self.by-version."hawk"."1.0.0";
-  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        name = "hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
-      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
-  };
-  by-spec."hoek"."0.9.x" =
-    self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.9.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        name = "hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
-  };
-  by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.1";
-  by-version."http-signature"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.10.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
-        name = "http-signature-0.10.1.tgz";
-        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  by-spec."iconv-lite"."0.4.8" =
-    self.by-version."iconv-lite"."0.4.8";
-  by-version."iconv-lite"."0.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.4.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
-        name = "iconv-lite-0.4.8.tgz";
-        sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  by-spec."inflight"."^1.0.4" =
-    self.by-version."inflight"."1.0.4";
-  by-version."inflight"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "inflight-1.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
-        name = "inflight-1.0.4.tgz";
-        sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inflight" or []);
-    deps = {
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inflight" ];
-  };
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        name = "inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  by-spec."inherits"."~2.0.0" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."ipaddr.js"."1.0.1" =
-    self.by-version."ipaddr.js"."1.0.1";
-  by-version."ipaddr.js"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ipaddr.js-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
-        name = "ipaddr.js-1.0.1.tgz";
-        sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ipaddr.js" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ipaddr.js" ];
-  };
-  by-spec."json-stringify-safe"."~5.0.0" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-version."json-stringify-safe"."5.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-5.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        name = "json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "media-typer-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-        name = "media-typer-0.3.0.tgz";
-        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."media-typer" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "media-typer" ];
-  };
-  by-spec."merge-descriptors"."1.0.0" =
-    self.by-version."merge-descriptors"."1.0.0";
-  by-version."merge-descriptors"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "merge-descriptors-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
-        name = "merge-descriptors-1.0.0.tgz";
-        sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."merge-descriptors" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "merge-descriptors" ];
-  };
-  by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.1";
-  by-version."methods"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-1.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
-        name = "methods-1.1.1.tgz";
-        sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
-  };
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.3.4";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        name = "mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        name = "mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.9" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime-db"."~1.10.0" =
-    self.by-version."mime-db"."1.10.0";
-  by-version."mime-db"."1.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-db-1.10.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.10.0.tgz";
-        name = "mime-db-1.10.0.tgz";
-        sha1 = "e6308063c758ebd12837874c3d1ea9170766b03b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-db" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-db" ];
-  };
-  by-spec."mime-types"."~2.0.11" =
-    self.by-version."mime-types"."2.0.12";
-  by-version."mime-types"."2.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-types-2.0.12";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.12.tgz";
-        name = "mime-types-2.0.12.tgz";
-        sha1 = "87ae9f124e94f8e440c93d1a72d0dccecdb71135";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = {
-      "mime-db-1.10.0" = self.by-version."mime-db"."1.10.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
-  };
-  by-spec."minimatch"."^2.0.1" =
-    self.by-version."minimatch"."2.0.8";
-  by-version."minimatch"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-2.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz";
-        name = "minimatch-2.0.8.tgz";
-        sha1 = "0bc20f6bf3570a698ef0ddff902063c6cabda6bf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = {
-      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimist-0.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        name = "minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
-  by-spec."mkdirp"."0.5" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.5.1";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        name = "mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-0.7.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-        name = "ms-0.7.1.tgz";
-        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
-  };
-  by-spec."nan"."~1.0.0" =
-    self.by-version."nan"."1.0.0";
-  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nan-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-        name = "nan-1.0.0.tgz";
-        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
-  by-spec."negotiator"."0.5.3" =
-    self.by-version."negotiator"."0.5.3";
-  by-version."negotiator"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "negotiator-0.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
-        name = "negotiator-0.5.3.tgz";
-        sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
-  };
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.3";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
-        name = "node-uuid-1.4.3.tgz";
-        sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  by-spec."oauth-sign"."~0.3.0" =
-    self.by-version."oauth-sign"."0.3.0";
-  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        name = "oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
-  };
-  by-spec."on-finished"."~2.2.1" =
-    self.by-version."on-finished"."2.2.1";
-  by-version."on-finished"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "on-finished-2.2.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
-        name = "on-finished-2.2.1.tgz";
-        sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-finished" or []);
-    deps = {
-      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-finished" ];
-  };
-  by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.2";
-  by-version."once"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.3.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.3.2.tgz";
-        name = "once-1.3.2.tgz";
-        sha1 = "d8feeca93b039ec1dcdee7741c92bdac5e28081b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."once" or []);
-    deps = {
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "once" ];
-  };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "options-0.0.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
-        name = "options-0.0.6.tgz";
-        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."options" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "options" ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-        name = "parseurl-1.3.0.tgz";
-        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."path-to-regexp"."0.1.3" =
-    self.by-version."path-to-regexp"."0.1.3";
-  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "path-to-regexp-0.1.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
-        name = "path-to-regexp-0.1.3.tgz";
-        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-to-regexp" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-to-regexp" ];
-  };
-  by-spec."proxy-addr"."~1.0.8" =
-    self.by-version."proxy-addr"."1.0.8";
-  by-version."proxy-addr"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "proxy-addr-1.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
-        name = "proxy-addr-1.0.8.tgz";
-        sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."proxy-addr" or []);
-    deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "proxy-addr" ];
-  };
-  by-spec."qs"."2.4.2" =
-    self.by-version."qs"."2.4.2";
-  by-version."qs"."2.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-2.4.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
-        name = "qs-2.4.2.tgz";
-        sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."~0.6.0" =
-    self.by-version."qs"."0.6.6";
-  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        name = "qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.2";
-  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "range-parser-1.0.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
-        name = "range-parser-1.0.2.tgz";
-        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
-  };
-  by-spec."raw-body"."~2.0.1" =
-    self.by-version."raw-body"."2.0.1";
-  by-version."raw-body"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-body-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-2.0.1.tgz";
-        name = "raw-body-2.0.1.tgz";
-        sha1 = "2b70a3ffd1681c0521bae73454e0ccbc785d378e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = {
-      "bytes-2.0.1" = self.by-version."bytes"."2.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.34.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "tough-cookie-1.1.0" = self.by-version."tough-cookie"."1.1.0";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  "request" = self.by-version."request"."2.34.0";
-  by-spec."rimraf"."2" =
-    self.by-version."rimraf"."2.3.4";
-  by-version."rimraf"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.3.4";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz";
-        name = "rimraf-2.3.4.tgz";
-        sha1 = "82d9bc1b2fcf31e205ac7b28138a025d08e9159a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = {
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  by-spec."send"."0.12.3" =
-    self.by-version."send"."0.12.3";
-  by-version."send"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.12.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.12.3.tgz";
-        name = "send-0.12.3.tgz";
-        sha1 = "cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.6.0" = self.by-version."etag"."1.6.0";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."serve-static"."~1.9.3" =
-    self.by-version."serve-static"."1.9.3";
-  by-version."serve-static"."1.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "serve-static-1.9.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz";
-        name = "serve-static-1.9.3.tgz";
-        sha1 = "5f8da07323ad385ff3dc541f1a7917b2e436eb57";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = {
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "send-0.12.3" = self.by-version."send"."0.12.3";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."sntp"."0.2.x" =
-    self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-0.2.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        name = "sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
-  };
-  by-spec."tar"."~0.1.19" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.20";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = {
-      "block-stream-0.0.8" = self.by-version."block-stream"."0.0.8";
-      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  "tar" = self.by-version."tar"."0.1.20";
-  by-spec."tinycolor"."0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "tinycolor-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-        name = "tinycolor-0.0.1.tgz";
-        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tinycolor" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tinycolor" ];
-  };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."1.1.0";
-  by-version."tough-cookie"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tough-cookie-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz";
-        name = "tough-cookie-1.1.0.tgz";
-        sha1 = "126d2490e66ae5286b6863debd4a341076915954";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tunnel-agent"."~0.3.0" =
-    self.by-version."tunnel-agent"."0.3.0";
-  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-        name = "tunnel-agent-0.3.0.tgz";
-        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
-  };
-  by-spec."type-is"."~1.6.2" =
-    self.by-version."type-is"."1.6.2";
-  by-version."type-is"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "type-is-1.6.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.6.2.tgz";
-        name = "type-is-1.6.2.tgz";
-        sha1 = "694e83e5d110417e681cea278227f264ae406e33";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-        name = "utils-merge-1.0.0.tgz";
-        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utils-merge" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "utils-merge" ];
-  };
-  by-spec."vary"."~1.0.0" =
-    self.by-version."vary"."1.0.0";
-  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "vary-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
-        name = "vary-1.0.0.tgz";
-        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vary" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "vary" ];
-  };
-  by-spec."wrappy"."1" =
-    self.by-version."wrappy"."1.0.1";
-  by-version."wrappy"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "wrappy-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
-        name = "wrappy-1.0.1.tgz";
-        sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wrappy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "wrappy" ];
-  };
-  by-spec."ws"."~0.4.32" =
-    self.by-version."ws"."0.4.32";
-  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
-    name = "ws-0.4.32";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-        name = "ws-0.4.32.tgz";
-        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ws" or []);
-    deps = {
-      "commander-2.1.0" = self.by-version."commander"."2.1.0";
-      "nan-1.0.0" = self.by-version."nan"."1.0.0";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ws" ];
-  };
-  "ws" = self.by-version."ws"."0.4.32";
-}
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file