summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs/simple')
-rw-r--r--krebs/5pkgs/simple/TabFS/default.nix6
-rw-r--r--krebs/5pkgs/simple/TabFS/src.json10
-rw-r--r--krebs/5pkgs/simple/ecrypt/default.nix111
-rw-r--r--krebs/5pkgs/simple/git-preview.nix17
-rw-r--r--krebs/5pkgs/simple/go-shortener/default.nix56
-rw-r--r--krebs/5pkgs/simple/go-shortener/node-packages.nix88
-rw-r--r--krebs/5pkgs/simple/go-shortener/pkgs.json4
-rwxr-xr-xkrebs/5pkgs/simple/go-shortener/update.sh4
-rw-r--r--krebs/5pkgs/simple/newsbot-js/default.nix58
-rw-r--r--krebs/5pkgs/simple/newsbot-js/node-packages.nix777
-rw-r--r--krebs/5pkgs/simple/newsbot-js/pkgs.json7
-rwxr-xr-xkrebs/5pkgs/simple/newsbot-js/update.sh4
-rw-r--r--krebs/5pkgs/simple/realwallpaper/default.nix46
-rw-r--r--krebs/5pkgs/simple/rss-bridge/default.nix33
-rw-r--r--krebs/5pkgs/simple/urix.nix15
15 files changed, 204 insertions, 1032 deletions
diff --git a/krebs/5pkgs/simple/TabFS/default.nix b/krebs/5pkgs/simple/TabFS/default.nix
index 23fdf519d..69de919eb 100644
--- a/krebs/5pkgs/simple/TabFS/default.nix
+++ b/krebs/5pkgs/simple/TabFS/default.nix
@@ -3,11 +3,7 @@
stdenv.mkDerivation rec {
name = "TabFS";
- src = pkgs.fetchgit {
- url = https://cgit.krebsco.de/TabFS;
- rev = "1fc4845283a0e6aa46a8d8978f356d5ccdcedd13";
- sha256 = "0bsm5fhxrr6zwbnm9p10h9pwm85llr02g2ch97a62r62dhjjrc8h";
- };
+ src = pkgs.fetchgit (lib.importJSON ./src.json);
phases = [
"unpackPhase"
diff --git a/krebs/5pkgs/simple/TabFS/src.json b/krebs/5pkgs/simple/TabFS/src.json
new file mode 100644
index 000000000..24e36aef3
--- /dev/null
+++ b/krebs/5pkgs/simple/TabFS/src.json
@@ -0,0 +1,10 @@
+{
+ "url": "https://cgit.krebsco.de/TabFS",
+ "rev": "a6045e0e29b85e3e66c468f3561009ded1db6ec5",
+ "date": "2021-01-14T23:56:09+01:00",
+ "path": "/nix/store/mbcywm1yq5vr7awxqb533faz34minfax-TabFS",
+ "sha256": "1z0kj95zh0jl8laa0whra1jys8pws3199sy29vmlv2nxrkz13blv",
+ "fetchSubmodules": false,
+ "deepClone": false,
+ "leaveDotGit": false
+}
diff --git a/krebs/5pkgs/simple/ecrypt/default.nix b/krebs/5pkgs/simple/ecrypt/default.nix
new file mode 100644
index 000000000..f83f8cfe7
--- /dev/null
+++ b/krebs/5pkgs/simple/ecrypt/default.nix
@@ -0,0 +1,111 @@
+{ pkgs, lib }:
+
+#usage: ecrypt mount /var/crypted /var/unencrypted
+pkgs.writers.writeDashBin "ecrypt" ''
+ set -euf
+
+ PATH=${lib.makeBinPath (with pkgs; [
+ coreutils
+ ecryptfs
+ gnused
+ gnugrep
+ jq
+ mount
+ keyutils
+ umount
+ ])}
+
+ # turn echo back on if killed
+ trap 'stty echo' INT
+
+ case "$1" in
+ init)
+ shift
+ mkdir -p "$1" "$2"
+
+ # abort if src or dest are not empty
+ if [ -e "$1"/.cfg.json ]; then
+ echo 'source dir is already configured, aborting'
+ exit 1
+ elif ls -1qA "$2" | grep -q .; then
+ echo 'destination dir is not empty, aborting'
+ exit 1
+ else
+ # we start and exit ecryptfs-manager again to circumvent a bug where mounting the ecryptfs fails
+ echo 4 | ecryptfs-manager
+ stty -echo
+ printf "passphrase: "
+ read passphrase
+ stty echo
+ sig=$(echo "$passphrase" | ecryptfs-add-passphrase | grep 'Inserted auth tok' | sed 's/.*\[\(.*\)\].*/\1/')
+ mount -t ecryptfs \
+ -o ecryptfs_unlink_sigs,ecryptfs_fnek_sig="$sig",ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig="$sig" \
+ "$1" "$2"
+
+ # add sig to json state file
+ jq -n --arg sig "$sig" '{ "sig": $sig }' > "$1"/.cfg.json
+ fi
+ ;;
+
+ mount)
+ shift
+ if ! [ -e "$1"/.cfg.json ]; then
+ echo '.cfg.json missing in src'
+ exit 1
+ fi
+ old_sig=$(cat "$1"/.cfg.json | jq -r .sig)
+
+ # check if key is already in keyring, otherwise add it
+
+ if keyctl list @u | grep -q "$old_sig"; then
+ echo 'pw already saved'
+ else
+ # we start and exit ecryptfs-manager again to circumvent a bug where mounting the ecryptfs fails
+ echo 4 | ecryptfs-manager
+ stty -echo
+ printf "passphrase: "
+ read passphrase
+ stty echo
+ new_sig=$(echo "$passphrase" | ecryptfs-add-passphrase | grep 'Inserted auth tok' | sed 's/.*\[\(.*\)\].*/\1/')
+
+ # check if passphrase matches sig
+ if [ "$old_sig" != "$new_sig" ]; then
+ echo 'passphrase does not match sig, bailing out'
+ new_keyid=$(keyctl list @u | grep "$new_sig" | sed 's/\([0-9]*\).*/\1/')
+ keyctl revoke "$new_keyid"
+ keyctl unlink "$new_keyid"
+ exit 1
+ fi
+ fi
+
+ sig=$old_sig
+ keyid=$(keyctl list @u | grep "$sig" | sed 's/\([0-9]*\).*/\1/')
+ if (ls -1qA "$2" | grep -q .); then
+ echo 'destination is not empty, bailing out'
+ exit 1
+ else
+ mount -i -t ecryptfs \
+ -o ecryptfs_passthrough=no,verbose=no,ecryptfs_unlink_sigs,ecryptfs_fnek_sig="$sig",ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig="$sig" \
+ "$1" "$2"
+ fi
+ ;;
+
+ unmount)
+ shift
+
+ sig=$(cat "$1"/.cfg.json | jq -r .sig)
+ keyid=$(keyctl list @u | grep "$sig" | sed 's/\s*\([0-9]*\).*/\1/')
+
+ umount "$2" || :
+ keyctl revoke "$keyid"
+ keyctl unlink "$keyid"
+ ;;
+
+ *)
+ echo 'usage:
+ ecrypt init /tmp/src/ /tmp/dst/
+ ecrypt mount /tmp/src/ /tmp/dst/
+ ecrypt unmount /tmp/src/ /tmp/dst/
+ '
+ esac
+''
diff --git a/krebs/5pkgs/simple/git-preview.nix b/krebs/5pkgs/simple/git-preview.nix
deleted file mode 100644
index d6c9579a7..000000000
--- a/krebs/5pkgs/simple/git-preview.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ coreutils, git, writeDashBin }:
-
-writeDashBin "git-preview" ''
- set -efu
- head_commit=$(${git}/bin/git log -1 --format=%H)
- merge_commit=$1; shift
- merge_message='Merge for git-preview'
- preview_dir=$(${coreutils}/bin/mktemp --tmpdir -d git-preview.XXXXXXXX)
- preview_branch=$(${coreutils}/bin/basename "$preview_dir")
- ${git}/bin/git worktree add -b "$preview_branch" "$preview_dir" >/dev/null
- ${git}/bin/git -C "$preview_dir" checkout "$head_commit"
- ${git}/bin/git -C "$preview_dir" merge -m "$merge_message" "$merge_commit"
- ${git}/bin/git -C "$preview_dir" diff "$head_commit.." "$@" &
- ${git}/bin/git branch -fd "$preview_branch"
- ${coreutils}/bin/rm -fR "$preview_dir"
- wait
-''
diff --git a/krebs/5pkgs/simple/go-shortener/default.nix b/krebs/5pkgs/simple/go-shortener/default.nix
deleted file mode 100644
index 5e734553b..000000000
--- a/krebs/5pkgs/simple/go-shortener/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, makeWrapper, lib, buildEnv, fetchgit, nodejs-12_x, pkgs }:
-
-with lib;
-
-let
- nodeEnv = import <nixpkgs/pkgs/development/node-packages/node-env.nix> {
- inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
- nodejs = nodejs-12_x;
- libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
- };
-
- node_env = pkgs.buildEnv {
- name = "go-node_env";
- paths = attrValues (import ./node-packages.nix {
- inherit (pkgs) fetchurl fetchgit;
- inherit nodeEnv;
- });
- };
-
-in stdenv.mkDerivation {
- packageName = "go";
- name = "go-shortener";
- version = "0.0.0";
-
- src = fetchgit {
- url = "http://cgit.lassul.us/go/";
- rev = "05d02740e0adbb36cc461323647f0c1e7f493156";
- sha256 = "6015c9a93317375ae8099c7ab982df0aa93a59ec2b48972e253887bb6ca0004f";
- };
-
- phases = [
- "unpackPhase"
- "installPhase"
- ];
-
- buildInputs = [
- nodejs-12_x
- makeWrapper
- ];
-
- installPhase = ''
- mkdir -p $out/bin
-
- cp index.js $out/
- cat > $out/go << EOF
- ${nodejs-12_x}/bin/node $out/index.js
- EOF
- chmod +x $out/go
-
- wrapProgram $out/go \
- --prefix NODE_PATH : ${node_env}/lib/node_modules
-
- ln -s $out/go /$out/bin/go
- '';
-
-}
diff --git a/krebs/5pkgs/simple/go-shortener/node-packages.nix b/krebs/5pkgs/simple/go-shortener/node-packages.nix
deleted file mode 100644
index 613e31ba0..000000000
--- a/krebs/5pkgs/simple/go-shortener/node-packages.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-# This file has been generated by node2nix 1.7.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
-
-let
- sources = {
- "denque-1.4.1" = {
- name = "denque";
- packageName = "denque";
- version = "1.4.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz";
- sha512 = "OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==";
- };
- };
- "redis-commands-1.5.0" = {
- name = "redis-commands";
- packageName = "redis-commands";
- version = "1.5.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz";
- sha512 = "6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg==";
- };
- };
- "redis-errors-1.2.0" = {
- name = "redis-errors";
- packageName = "redis-errors";
- version = "1.2.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz";
- sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
- };
- };
- "redis-parser-3.0.0" = {
- name = "redis-parser";
- packageName = "redis-parser";
- version = "3.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz";
- sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
- };
- };
- };
-in
-{
- formidable = nodeEnv.buildNodePackage {
- name = "formidable";
- packageName = "formidable";
- version = "1.2.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz";
- sha512 = "V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==";
- };
- buildInputs = globalBuildInputs;
- meta = {
- description = "A node.js module for parsing form data, especially file uploads.";
- homepage = https://github.com/node-formidable/formidable;
- license = "MIT";
- };
- production = true;
- bypassCache = true;
- reconstructLock = true;
- };
- redis = nodeEnv.buildNodePackage {
- name = "redis";
- packageName = "redis";
- version = "3.0.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz";
- sha512 = "PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==";
- };
- dependencies = [
- sources."denque-1.4.1"
- sources."redis-commands-1.5.0"
- sources."redis-errors-1.2.0"
- sources."redis-parser-3.0.0"
- ];
- buildInputs = globalBuildInputs;
- meta = {
- description = "A high performance Redis client.";
- homepage = https://github.com/NodeRedis/node-redis;
- license = "MIT";
- };
- production = true;
- bypassCache = true;
- reconstructLock = true;
- };
-} \ No newline at end of file
diff --git a/krebs/5pkgs/simple/go-shortener/pkgs.json b/krebs/5pkgs/simple/go-shortener/pkgs.json
deleted file mode 100644
index f53ce3745..000000000
--- a/krebs/5pkgs/simple/go-shortener/pkgs.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "formidable",
- "redis"
-]
diff --git a/krebs/5pkgs/simple/go-shortener/update.sh b/krebs/5pkgs/simple/go-shortener/update.sh
deleted file mode 100755
index 1a58d0367..000000000
--- a/krebs/5pkgs/simple/go-shortener/update.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages_10_x.node2nix
-node2nix -10 -i pkgs.json -c combine.nix
-rm node-env.nix combine.nix
diff --git a/krebs/5pkgs/simple/newsbot-js/default.nix b/krebs/5pkgs/simple/newsbot-js/default.nix
deleted file mode 100644
index 0ac66f433..000000000
--- a/krebs/5pkgs/simple/newsbot-js/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv, makeWrapper, lib, buildEnv, fetchgit, nodejs, pkgs, icu }:
-
-with lib;
-
-let
- nodeEnv = import <nixpkgs/pkgs/development/node-packages/node-env.nix> {
- inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
- nodejs = nodejs;
- libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
- };
-
- node_env = pkgs.buildEnv {
- name = "go-node_env";
- paths = attrValues (import ./node-packages.nix {
- inherit (pkgs) fetchurl fetchgit;
- inherit nodeEnv;
- globalBuildInputs = [
- icu.dev
- ];
- });
- };
-
-
-in stdenv.mkDerivation {
- name = "newsbot-js";
-
- src = fetchgit {
- url = "http://cgit.prism/newsbot-js/";
- rev = "09e01639be4ea9691cf5b33f7d9057b68ac98079";
- sha256 = "28ffbed66c2efcd194c47823c7d5d5533c80852fc0cf9d9d4ee609c71d50c142";
- };
-
- phases = [
- "unpackPhase"
- "installPhase"
- ];
-
- buildInputs = [
- nodejs
- makeWrapper
- ];
-
- installPhase = ''
- mkdir -p $out/bin
-
- cp newsbot.js $out/
- cat > $out/newsbot << EOF
- ${nodejs}/bin/node $out/newsbot.js
- EOF
- chmod +x $out/newsbot
-
- wrapProgram $out/newsbot \
- --prefix NODE_PATH : ${node_env}/lib/node_modules
-
- ln -s $out/newsbot /$out/bin/newsbot
- '';
-
-}
diff --git a/krebs/5pkgs/simple/newsbot-js/node-packages.nix b/krebs/5pkgs/simple/newsbot-js/node-packages.nix
deleted file mode 100644
index ea45b93f3..000000000
--- a/krebs/5pkgs/simple/newsbot-js/node-packages.nix
+++ /dev/null
@@ -1,777 +0,0 @@
-# This file has been generated by node2nix 1.7.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
-
-let
- sources = {
- "addressparser-1.0.1" = {
- name = "addressparser";
- packageName = "addressparser";
- version = "1.0.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz";
- sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746";
- };
- };
- "ajv-6.10.2" = {
- name = "ajv";
- packageName = "ajv";
- version = "6.10.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
- sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
- };
- };
- "array-indexofobject-0.0.1" = {
- name = "array-indexofobject";
- packageName = "array-indexofobject";
- version = "0.0.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz";
- sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a";
- };
- };
- "asn1-0.2.4" = {
- name = "asn1";
- packageName = "asn1";
- version = "0.2.4";
- src = fetchurl {
- url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
- sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
- };
- };
- "assert-plus-1.0.0" = {
- name = "assert-plus";
- packageName = "assert-plus";
- version = "1.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
- sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
- };
- };
- "asynckit-0.4.0" = {
- name = "asynckit";
- packageName = "asynckit";
- version = "0.4.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
- sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
- };
- };
- "aws-sign2-0.7.0" = {
- name = "aws-sign2";
- packageName = "aws-sign2";
- version = "0.7.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
- sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
- };
- };
- "aws4-1.8.0" = {
- name = "aws4";
- packageName = "aws4";
- version = "1.8.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
- sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
- };
- };
- "bcrypt-pbkdf-1.0.2" = {
- name = "bcrypt-pbkdf";
- packageName = "bcrypt-pbkdf";
- version = "1.0.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
- sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
- };
- };
- "caseless-0.12.0" = {
- name = "caseless";
- packageName = "caseless";
- version = "0.12.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
- sha1 = "1b681c21ff84033c826543090689420d187151dc";
- };
- };
- "combined-stream-1.0.8" = {
- name = "combined-stream";
- packageName = "combined-stream";
- version = "1.0.8";
- src = fetchurl {
- url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
- sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
- };
- };
- "core-util-is-1.0.2" = {
- name = "core-util-is";
- packageName = "core-util-is";
- version = "1.0.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
- sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
- };
- };
- "dashdash-1.14.1" = {
- name = "dashdash";
- packageName = "dashdash";
- version = "1.14.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
- sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
- };
- };
- "delayed-stream-1.0.0" = {
- name = "delayed-stream";
- packageName = "delayed-stream";
- version = "1.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
- sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
- };
- };
- "ecc-jsbn-0.1.2" = {
- name = "ecc-jsbn";
- packageName = "ecc-jsbn";
- version = "0.1.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
- sha1 = "3a83a904e54353287874c564b7549386849a98c9";
- };
- };
- "extend-3.0.2" = {
- name = "extend";
- packageName = "extend";
- version = "3.0.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
- sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
- };
- };
- "extsprintf-1.3.0" = {
- name = "extsprintf";
- packageName = "extsprintf";
- version = "1.3.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
- sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
- };
- };
- "fast-deep-equal-2.0.1" = {
- name = "fast-deep-equal";
- packageName = "fast-deep-equal";
- version = "2.0.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
- sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
- };
- };
- "fast-json-stable-stringify-2.0.0" = {
- name = "fast-json-stable-stringify";
- packageName = "fast-json-stable-stringify";
- version = "2.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
- sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
- };
- };
- "forever-agent-0.6.1" = {
- name = "forever-agent";
- packageName = "forever-agent";
- version = "0.6.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
- sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
- };
- };
- "form-data-2.3.3" = {
- name = "form-data";
- packageName = "form-data";
- version = "2.3.3";
- src = fetchurl {
- url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
- sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
- };
- };
- "getpass-0.1.7" = {
- name = "getpass";
- packageName = "getpass";
- version = "0.1.7";
- src = fetchurl {
- url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
- sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
- };
- };
- "har-schema-2.0.0" = {
- name = "har-schema";
- packageName = "har-schema";
- version = "2.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
- sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
- };
- };
- "har-validator-5.1.3" = {
- name = "har-validator";
- packageName = "har-validator";
- version = "5.1.3";
- src = fetchurl {
- url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
- sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
- };
- };
- "http-signature-1.2.0" = {
- name = "http-signature";
- packageName = "http-signature";
- version = "1.2.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
- sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
- };
- };
- "iconv-2.2.3" = {
- name = "iconv";
- packageName = "iconv";
- version = "2.2.3";
- src = fetchurl {
- url = "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz";
- sha1 = "e084d60eeb7d73da7f0a9c096e4c8abe090bfaed";
- };
- };
- "inherits-2.0.4" = {
- name = "inherits";
- packageName = "inherits";
- version = "2.0.4";
- src = fetchurl {
- url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
- sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
- };
- };
- "irc-colors-1.5.0" = {
- name = "irc-colors";
- packageName = "irc-colors";
- version = "1.5.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.5.0.tgz";
- sha512 = "HtszKchBQTcqw1DC09uD7i7vvMayHGM1OCo6AHt5pkgZEyo99ClhHTMJdf+Ezc9ovuNNxcH89QfyclGthjZJOw==";
- };
- };
- "is-typedarray-1.0.0" = {
- name = "is-typedarray";
- packageName = "is-typedarray";
- version = "1.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
- sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
- };
- };
- "isarray-1.0.0" = {
- name = "isarray";
- packageName = "isarray";
- version = "1.0.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
- sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
- };
- };
- "isstream-0.1.2" = {
- name = "isstream";
- packageName = "isstream";
- version = "0.1.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
- sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
- };
- };
- "jsbn-0.1.1" = {
- name = "jsbn";
- packageName = "jsbn";
- version = "0.1.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
- sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
- };
- };
- "json-schema-0.2.3" = {
- name = "json-schema";
- packageName = "json-schema";
- version = "0.2.3";
- src = fetchurl {
- url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
- sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
- };
- };
- "json-schema-traverse-0.4.1" = {
- name = "json-schema-traverse";
- packageName = "json-schema-traverse";
- version = "0.4.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
- sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
- };
- };
- "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";
- };
- };
- "jsprim-1.4.1" = {
- name = "jsprim";
- packageName = "jsprim";
- version = "1.4.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
- sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
- };
- };
- "lodash.assign-4.2.0" = {
- name = "lodash.assign";
- packageName = "lodash.assign";
- version = "4.2.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz";
- sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
- };
- };
- "lodash.get-4.4.2" = {
- name = "lodash.get";
- packageName = "lodash.get";
- version = "4.4.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
- sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
- };
- };
- "lodash.has-4.5.2" = {
- name = "lodash.has";
- packageName = "lodash.has";
- version = "4.5.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
- sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
- };
- };
- "lodash.uniq-4.5.0" = {
- name = "lodash.uniq";
- packageName = "lodash.uniq";
- version = "4.5.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
- sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
- };
- };
- "mime-db-1.42.0" = {
- name = "mime-db";
- packageName = "mime-db";
- version = "1.42.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
- sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
- };
- };
- "mime-types-2.1.25" = {
- name = "mime-types";
- packageName = "mime-types";
- version = "2.1.25";
- src = fetchurl {
- url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
- sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
- };
- };
- "mri-1.1.4" = {
- name = "mri";
- packageName = "mri";
- version = "1.1.4";
- src = fetchurl {
- url = "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz";
- sha512 = "6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==";
- };
- };
- "nan-2.14.0" = {
- name = "nan";
- packageName = "nan";
- version = "2.14.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
- sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
- };
- };
- "node-icu-charset-detector-0.2.0" = {
- name = "node-icu-charset-detector";
- packageName = "node-icu-charset-detector";
- version = "0.2.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz";
- sha1 = "c2320da374ddcb671fc54cb4a0e041e156ffd639";
- };
- };
- "oauth-sign-0.9.0" = {
- name = "oauth-sign";
- packageName = "oauth-sign";
- version = "0.9.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
- sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
- };
- };
- "performance-now-2.1.0" = {
- name = "performance-now";
- packageName = "performance-now";
- version = "2.1.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
- sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
- };
- };
- "process-nextick-args-2.0.1" = {
- name = "process-nextick-args";
- packageName = "process-nextick-args";
- version = "2.0.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
- sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
- };
- };
- "psl-1.4.0" = {
- name = "psl";
- packageName = "psl";
- version = "1.4.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
- sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
- };
- };
- "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";
- };
- };
- "punycode-2.1.1" = {
- name = "punycode";
- packageName = "punycode";
- version = "2.1.1";
- src = fetchurl {
- url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
- sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
- };
- };
- "qs-6.5.2" = {
- name = "qs";
- packageName = "qs";
- version = "6.5.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
- sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
- };
- };
- "readable-stream-2.3.6" = {
- name = "readable-stream";
- packageName = "readable-stream";
- version = "2.3.6";
- src = fetchurl {
- url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
- sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
- };
- };
- "safe-buffer-5.1.2" = {
- name = "safe-buffer";
- packageName = "safe-buffer";
- version = "5.1.2";
- src = fetchurl {
- url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
- sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
- };
- };
- "safe-buffer-5.2.0" = {
- name = "safe-buffer";
- packageName = "safe-buffer";
- version = "5.2.0";
- src = fetchurl {
- url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
- sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspj