summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeschli <jeschli@gmail.com>2018-04-18 08:19:05 +0200
committerjeschli <jeschli@gmail.com>2018-04-18 08:19:05 +0200
commite800670c1892cca7c9d12476d65bb4750e213890 (patch)
treecf20fc27b3fe7e271d7b0441c880283c91f42e60
parente3445be6dafe4f16e150549baee34055a6b04fef (diff)
parent5b8c4d24e274bbf26e85420fc11b5bf7e24ac22d (diff)
Merge branch 'master' of prism.r:stockholm
-rw-r--r--krebs/3modules/os-release.nix7
-rw-r--r--krebs/5pkgs/haskell/nix-diff/default.nix25
-rw-r--r--krebs/5pkgs/haskell/nix-diff/nixos-system.patch18
-rw-r--r--krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py17
-rw-r--r--krebs/5pkgs/simple/buildbot-classic/default.nix7
-rw-r--r--krebs/5pkgs/simple/ejabberd/default.nix118
-rw-r--r--krebs/5pkgs/simple/go-shortener/default.nix35
-rw-r--r--krebs/5pkgs/simple/go-shortener/node-packages.nix76
-rw-r--r--krebs/5pkgs/simple/go-shortener/packages.nix44
-rw-r--r--krebs/5pkgs/simple/go-shortener/pkgs.json4
-rwxr-xr-xkrebs/5pkgs/simple/go-shortener/update.sh2
-rw-r--r--krebs/5pkgs/simple/hashPassword/default.nix4
-rw-r--r--krebs/5pkgs/simple/kops.nix7
-rw-r--r--krebs/5pkgs/simple/newsbot-js/default.nix39
-rw-r--r--krebs/5pkgs/simple/newsbot-js/node-packages.nix844
-rw-r--r--krebs/5pkgs/simple/newsbot-js/packages.nix1747
-rw-r--r--krebs/5pkgs/simple/newsbot-js/pkgs.json7
-rwxr-xr-xkrebs/5pkgs/simple/newsbot-js/update.sh2
-rw-r--r--krebs/5pkgs/simple/stockholm/default.nix60
-rw-r--r--krebs/5pkgs/simple/zandronum-bin/default.nix83
-rw-r--r--krebs/5pkgs/writers.nix3
-rw-r--r--krebs/kops.nix64
-rw-r--r--krebs/source.nix5
-rw-r--r--lass/1systems/mors/config.nix9
-rw-r--r--lass/2configs/browsers.nix77
-rw-r--r--lass/2configs/games.nix4
-rw-r--r--lass/2configs/mail.nix4
-rw-r--r--lass/2configs/network-manager.nix8
-rw-r--r--lass/2configs/privoxy.nix5
-rw-r--r--lass/2configs/reaktor-coders.nix2
-rw-r--r--lass/2configs/repo-sync.nix15
-rw-r--r--lass/2configs/virtualbox.nix2
-rw-r--r--lass/3modules/default.nix1
-rw-r--r--lass/3modules/xjail.nix164
-rw-r--r--lass/5pkgs/custom/xmonad-lass/default.nix4
-rw-r--r--lass/5pkgs/default.nix1
-rw-r--r--lass/5pkgs/generate-secrets/default.nix46
-rw-r--r--lass/5pkgs/xephyrify/default.nix30
-rw-r--r--lass/kops.nix35
-rw-r--r--makefu/1systems/drop/source.nix1
-rw-r--r--makefu/1systems/fileleech/source.nix3
-rw-r--r--makefu/1systems/gum/config.nix2
-rw-r--r--makefu/1systems/omo/config.nix9
-rw-r--r--makefu/1systems/wbob/config.nix61
-rw-r--r--makefu/2configs/bluetooth-mpd.nix68
-rw-r--r--makefu/2configs/deployment/photostore.krebsco.de.nix1
-rw-r--r--makefu/2configs/nginx/euer.wiki.nix4
-rw-r--r--makefu/2configs/stats/arafetch.nix36
-rw-r--r--makefu/6tests/data/secrets/torrent-secrets/auth.nix1
-rw-r--r--makefu/source.nix4
-rw-r--r--nin/2configs/games.nix4
-rw-r--r--tv/2configs/urlwatch.nix5
-rw-r--r--tv/2configs/xserver/default.nix1
-rw-r--r--tv/5pkgs/simple/font-size.nix26
-rw-r--r--tv/5pkgs/simple/xmonad-tv/default.nix2
55 files changed, 1672 insertions, 2181 deletions
diff --git a/krebs/3modules/os-release.nix b/krebs/3modules/os-release.nix
index 8f71a357f..5fbfe6614 100644
--- a/krebs/3modules/os-release.nix
+++ b/krebs/3modules/os-release.nix
@@ -1,8 +1,11 @@
{ config, ... }:
with import <stockholm/lib>;
let
- nixos-version-id = "${config.system.nixosVersion}";
- nixos-version = "${nixos-version-id} (${config.system.nixosCodeName})";
+ nixos-version-id = if (hasAttr "nixos" config.system) then
+ "${config.system.nixos.version}" else "${config.system.nixosVersion}";
+ nixos-codeName = if (hasAttr "nixos" config.system) then
+ "${config.system.nixos.codeName}" else "${config.system.nixosCodeName}";
+ nixos-version = "${nixos-version-id} (${nixos-codeName})";
nixos-pretty-name = "NixOS ${nixos-version}";
stockholm-version-id = let
diff --git a/krebs/5pkgs/haskell/nix-diff/default.nix b/krebs/5pkgs/haskell/nix-diff/default.nix
deleted file mode 100644
index df0315048..000000000
--- a/krebs/5pkgs/haskell/nix-diff/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ mkDerivation, attoparsec, base, containers, Diff, fetchgit, mtl
-, nix-derivation, optparse-generic, stdenv, system-filepath, text
-, unix, vector
-}:
-mkDerivation {
- pname = "nix-diff";
- version = "1.0.0-krebs1";
- src = fetchgit {
- url = "https://github.com/Gabriel439/nix-diff";
- sha256 = "1k00nx8pannqmpzadkwfrs6bf79yk22ynhd033z5rsyw0m8fcz9k";
- rev = "e32ffa2c7f38b47a71325a042c1d887fb46cdf7d";
- };
- patches = [
- ./nixos-system.patch
- ];
- isLibrary = false;
- isExecutable = true;
- executableHaskellDepends = [
- attoparsec base containers Diff mtl nix-derivation optparse-generic
- system-filepath text unix vector
- ];
- homepage = "https://github.com/Gabriel439/nix-diff";
- description = "Explain why two Nix derivations differ";
- license = stdenv.lib.licenses.bsd3;
-}
diff --git a/krebs/5pkgs/haskell/nix-diff/nixos-system.patch b/krebs/5pkgs/haskell/nix-diff/nixos-system.patch
deleted file mode 100644
index 03e186aa9..000000000
--- a/krebs/5pkgs/haskell/nix-diff/nixos-system.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/Main.hs b/src/Main.hs
-index 959ab8e..d3b6077 100644
---- a/src/Main.hs
-+++ b/src/Main.hs
-@@ -95,7 +95,12 @@ pathToText path =
- underneath `/nix/store`, but this is the overwhelmingly common use case
- -}
- derivationName :: FilePath -> Text
--derivationName = Data.Text.dropEnd 4 . Data.Text.drop 44 . pathToText
-+derivationName p =
-+ if Data.Text.isPrefixOf "nixos-system" s
-+ then "nixos-system"
-+ else s
-+ where
-+ s = Data.Text.dropEnd 4 . Data.Text.drop 44 . pathToText $ p
-
- -- | Group input derivations by their name
- groupByName :: Map FilePath (Set Text) -> Map Text (Map FilePath (Set Text))
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
index da8e2f726..51ac7a071 100644
--- a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
+++ b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
@@ -18,20 +18,27 @@ def is_regex(line):
myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$')
return myre.match(line)
+
line = argv[1]
if is_regex(line):
last = d.get(usr, None)
if last:
from subprocess import Popen, PIPE
- p = Popen(['sed', line], stdin=PIPE, stdout=PIPE)
+ p = Popen(['sed', line], stdin=PIPE, stdout=PIPE, stderr=PIPE)
so, se = p.communicate(bytes("{}\n".format(last), "UTF-8"))
if p.returncode:
- print("something went wrong when trying to process your regex: {}".format(se.decode()))
+ print("something went wrong when trying to process your regex: {}".format(line.strip()))
ret = so.decode()
- print("\x1b[1m{}\x1b[0m meant: {}".format(usr, ret.strip()))
- if ret:
- d[usr] = ret
+ if len(ret) > 512:
+ print('message to long, skipped')
+ elif len(ret.split('\n')) > 5:
+ print('to many lines, skipped')
+ else:
+ if last.strip() != ret.strip():
+ print("\x1b[1m{}\x1b[0m meant: {}".format(usr, ret.strip()))
+ if ret:
+ d[usr] = ret
else:
print("no last message")
diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix
index 9eeccee64..3cb691f53 100644
--- a/krebs/5pkgs/simple/buildbot-classic/default.nix
+++ b/krebs/5pkgs/simple/buildbot-classic/default.nix
@@ -2,16 +2,15 @@
python2Packages.buildPythonApplication rec {
name = "buildbot-classic-${version}";
- version = "0.8.14";
+ version = "0.8.16";
namePrefix = "";
patches = [];
src = fetchFromGitHub {
owner = "krebscode";
repo = "buildbot-classic";
- # rev = "v${version}";
- rev = "843463911";
- sha256 = "1ybl52ybjw5p09yik6bck9i1pvnvg94i0d32zqrwy67s77yx1mfd";
+ rev = version;
+ sha256 = "0g686n6m0cjfyympl0ksansllx503gby3hx9gmc8hiyx6x5fkjha";
};
postUnpack = "sourceRoot=\${sourceRoot}/master";
diff --git a/krebs/5pkgs/simple/ejabberd/default.nix b/krebs/5pkgs/simple/ejabberd/default.nix
new file mode 100644
index 000000000..2799241fa
--- /dev/null
+++ b/krebs/5pkgs/simple/ejabberd/default.nix
@@ -0,0 +1,118 @@
+{ stdenv, writeScriptBin, lib, fetchurl, git, cacert
+, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps
+, withMysql ? false
+, withPgsql ? false
+, withSqlite ? false, sqlite
+, withPam ? false, pam
+, withZlib ? true, zlib
+, withRiak ? false
+, withElixir ? false, elixir
+, withIconv ? true
+, withTools ? false
+, withRedis ? false
+}:
+
+let
+ fakegit = writeScriptBin "git" ''
+ #! ${stdenv.shell} -e
+ if [ "$1" = "describe" ]; then
+ [ -r .rev ] && cat .rev || true
+ fi
+ '';
+
+ ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
+
+in stdenv.mkDerivation rec {
+ version = "17.07";
+ name = "ejabberd-${version}";
+
+ src = fetchurl {
+ url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
+ sha256 = "1p8ppp2czjgnq8xnhyksd82npvvx99fwr0g3rrq1wvnwh2vgb8km";
+ };
+
+ nativeBuildInputs = [ fakegit ];
+
+ buildInputs = [ erlang openssl expat libyaml ]
+ ++ lib.optional withSqlite sqlite
+ ++ lib.optional withPam pam
+ ++ lib.optional withZlib zlib
+ ++ lib.optional withElixir elixir
+ ;
+
+ # Apparently needed for Elixir
+ LANG = "en_US.UTF-8";
+
+ deps = stdenv.mkDerivation {
+ name = "ejabberd-deps-${version}";
+
+ inherit src;
+
+ configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ];
+
+ buildInputs = [ git erlang openssl expat libyaml sqlite pam zlib elixir ];
+
+ GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+ makeFlags = [ "deps" ];
+
+ phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ];
+
+ installPhase = ''
+ for i in deps/*; do
+ ( cd $i
+ git reset --hard
+ git clean -ffdx
+ git describe --always --tags > .rev
+ rm -rf .git
+ )
+ done
+ rm deps/.got
+
+ cp -r deps $out
+ '';
+
+ outputHashMode = "recursive";
+ outputHashAlgo = "sha256";
+ outputHash = "1q9yzccn4zf5i4hibq1r0i34q4986a93ph4792l1ph07aiisc8p7";
+ };
+
+ configureFlags =
+ [ (lib.enableFeature withMysql "mysql")
+ (lib.enableFeature withPgsql "pgsql")
+ (lib.enableFeature withSqlite "sqlite")
+ (lib.enableFeature withPam "pam")
+ (lib.enableFeature withZlib "zlib")
+ (lib.enableFeature withRiak "riak")
+ (lib.enableFeature withElixir "elixir")
+ (lib.enableFeature withIconv "iconv")
+ (lib.enableFeature withTools "tools")
+ (lib.enableFeature withRedis "redis")
+ ] ++ lib.optional withSqlite "--with-sqlite3=${sqlite.dev}";
+
+ enableParallelBuilding = true;
+
+ preBuild = ''
+ cp -r $deps deps
+ chmod -R +w deps
+ patchShebangs deps
+ '';
+
+ postInstall = ''
+ sed -i \
+ -e '2iexport PATH=${ctlpath}:$PATH' \
+ -e 's,\(^ *FLOCK=\).*,\1${utillinux}/bin/flock,' \
+ -e 's,\(^ *JOT=\).*,\1,' \
+ -e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
+ $out/sbin/ejabberdctl
+ '';
+
+ meta = {
+ description = "Open-source XMPP application server written in Erlang";
+ license = lib.licenses.gpl2;
+ homepage = http://www.ejabberd.im;
+ platforms = lib.platforms.linux;
+ maintainers = [ lib.maintainers.sander lib.maintainers.abbradar ];
+ broken = withElixir;
+ };
+}
diff --git a/krebs/5pkgs/simple/go-shortener/default.nix b/krebs/5pkgs/simple/go-shortener/default.nix
index 996f7072a..4d1bef2be 100644
--- a/krebs/5pkgs/simple/go-shortener/default.nix
+++ b/krebs/5pkgs/simple/go-shortener/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }:
+{ stdenv, makeWrapper, lib, buildEnv, fetchgit, nodejs-8_x, pkgs }:
with lib;
let
- np = (callPackage <nixpkgs/pkgs/top-level/node-packages.nix>) {
- generated = ./packages.nix;
- self = np;
+ nodeEnv = import <nixpkgs/pkgs/development/node-packages/node-env.nix> {
+ inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+ nodejs = nodejs-8_x;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
- node_env = buildEnv {
- name = "node_env";
- paths = [
- np.redis
- np."formidable"
- ];
- pathsToLink = [ "/lib" ];
- ignoreCollisions = true;
+ node_env = pkgs.buildEnv {
+ name = "go-node_env";
+ paths = attrValues (import ./node-packages.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+ });
};
-in np.buildNodePackage {
+in stdenv.mkDerivation {
+ packageName = "go";
name = "go-shortener";
+ version = "0.0.0";
src = fetchgit {
url = "http://cgit.lassul.us/go/";
@@ -32,10 +33,8 @@ in np.buildNodePackage {
"installPhase"
];
- deps = (filter (v: nixType v == "derivation") (attrValues np));
-
buildInputs = [
- nodejs
+ nodejs-8_x
makeWrapper
];
@@ -44,14 +43,14 @@ in np.buildNodePackage {
cp index.js $out/
cat > $out/go << EOF
- ${nodejs}/bin/node $out/index.js
+ ${nodejs-8_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
+ 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
new file mode 100644
index 000000000..526cd5a11
--- /dev/null
+++ b/krebs/5pkgs/simple/go-shortener/node-packages.nix
@@ -0,0 +1,76 @@
+# This file has been generated by node2nix 1.5.3. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "double-ended-queue-2.1.0-0" = {
+ name = "double-ended-queue";
+ packageName = "double-ended-queue";
+ version = "2.1.0-0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz";
+ sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
+ };
+ };
+ "redis-commands-1.3.5" = {
+ name = "redis-commands";
+ packageName = "redis-commands";
+ version = "1.3.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz";
+ sha512 = "2q8pai3gf0dczb03jjig3mpaz4j2kvw8icpgf8hp4fryr3d6c0mjkvxxdmlyhainybx4zhgqsw9ghc9p986alzdzd2n2p4cxvr8b0by";
+ };
+ };
+ "redis-parser-2.6.0" = {
+ name = "redis-parser";
+ packageName = "redis-parser";
+ version = "2.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
+ sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
+ };
+ };
+ };
+in
+{
+ formidable = nodeEnv.buildNodePackage {
+ name = "formidable";
+ packageName = "formidable";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+ sha512 = "1x0n2rfaiasdjbw1mm7s29z84f68c7iji7lb1gkxvpknvv6q7bwns7z55ijcf4vkh4kvis12rbgaaih49jf9lj53s30mllb1d35bkqn";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "A node.js module for parsing form data, especially file uploads.";
+ homepage = https://github.com/felixge/node-formidable;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ redis = nodeEnv.buildNodePackage {
+ name = "redis";
+ packageName = "redis";
+ version = "2.8.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
+ sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
+ };
+ dependencies = [
+ sources."double-ended-queue-2.1.0-0"
+ sources."redis-commands-1.3.5"
+ sources."redis-parser-2.6.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Redis client library";
+ homepage = https://github.com/NodeRedis/node_redis;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+} \ No newline at end of file
diff --git a/krebs/5pkgs/simple/go-shortener/packages.nix b/krebs/5pkgs/simple/go-shortener/packages.nix
deleted file mode 100644
index 9acfd7658..000000000
--- a/krebs/5pkgs/simple/go-shortener/packages.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
- by-spec."formidable"."*" =
- self.by-version."formidable"."1.0.17";
- by-version."formidable"."1.0.17" = self.buildNodePackage {
- name = "formidable-1.0.17";
- version = "1.0.17";
- bin = false;
- src = fetchurl {
- url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
- name = "formidable-1.0.17.tgz";
- sha1 = "ef5491490f9433b705faa77249c99029ae348559";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "formidable" = self.by-version."formidable"."1.0.17";
- by-spec."redis"."*" =
- self.by-version."redis"."2.1.0";
- by-version."redis"."2.1.0" = self.buildNodePackage {
- name = "redis-2.1.0";
- version = "2.1.0";
- bin = false;
- src = fetchurl {
- url = "http://registry.npmjs.org/redis/-/redis-2.1.0.tgz";
- name = "redis-2.1.0.tgz";
- sha1 = "38acb208f90750250f9451219b73ff08ae907f94";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "redis" = self.by-version."redis"."2.1.0";
-}
diff --git a/krebs/5pkgs/simple/go-shortener/pkgs.json b/krebs/5pkgs/simple/go-shortener/pkgs.json
new file mode 100644
index 000000000..f53ce3745
--- /dev/null
+++ b/krebs/5pkgs/simple/go-shortener/pkgs.json
@@ -0,0 +1,4 @@
+[
+ "formidable",
+ "redis"
+]
diff --git a/krebs/5pkgs/simple/go-shortener/update.sh b/krebs/5pkgs/simple/go-shortener/update.sh
new file mode 100755
index 000000000..0c1ecc58c
--- /dev/null
+++ b/krebs/5pkgs/simple/go-shortener/update.sh
@@ -0,0 +1,2 @@
+node2nix -8 -i pkgs.json -c combine.nix
+rm node-env.nix combine.nix
diff --git a/krebs/5pkgs/simple/hashPassword/default.nix b/krebs/5pkgs/simple/hashPassword/default.nix
index 3da65ad79..3c604be80 100644
--- a/krebs/5pkgs/simple/hashPassword/default.nix
+++ b/krebs/5pkgs/simple/hashPassword/default.nix
@@ -1,7 +1,7 @@
{ lib, pkgs, ... }:
pkgs.writeDashBin "hashPassword" ''
- # usage: hashPassword
+ # usage: hashPassword [...]
set -euf
export PATH=${lib.makeBinPath (with pkgs; [
@@ -11,5 +11,5 @@ pkgs.writeDashBin "hashPassword" ''
])}
salt=$(openssl rand -base64 16 | tr -d '+=' | head -c 16)
- exec mkpasswd -m sha-512 -S "$salt"
+ exec mkpasswd -m sha-512 -S "$salt" "$@"
''
diff --git a/krebs/5pkgs/simple/kops.nix b/krebs/5pkgs/simple/kops.nix
new file mode 100644
index 000000000..a6c82f3ca
--- /dev/null
+++ b/krebs/5pkgs/simple/kops.nix
@@ -0,0 +1,7 @@
+{ fetchgit, ... }:
+
+fetchgit {
+ url = https://cgit.krebsco.de/kops;
+ rev = "refs/tags/v1.0.0";
+ sha256 = "0wg8d80sxa46z4i7ir79sci2hwmv3qskzqdg0si64p6vazy8vckb";
+}
diff --git a/krebs/5pkgs/simple/newsbot-js/default.nix b/krebs/5pkgs/simple/newsbot-js/default.nix
index fa39823d3..cc362b86a 100644
--- a/krebs/5pkgs/simple/newsbot-js/default.nix
+++ b/krebs/5pkgs/simple/newsbot-js/default.nix
@@ -1,27 +1,27 @@
-{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }:
+{ stdenv, makeWrapper, lib, buildEnv, fetchgit, nodejs-8_x, pkgs, icu }:
with lib;
let
- np = (callPackage <nixpkgs/pkgs/top-level/node-packages.nix>) {
- generated = ./packages.nix;
- self = np;
+ nodeEnv = import <nixpkgs/pkgs/development/node-packages/node-env.nix> {
+ inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+ nodejs = nodejs-8_x;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
- node_env = buildEnv {
- name = "node_env";
- paths = [
- np.feedparser
- np.form-data
- np.irc
- np.request
- np.shell-quote
- ];
- pathsToLink = [ "/lib" ];
- ignoreCollisions = true;
+ node_env = pkgs.buildEnv {
+ name = "go-node_env";
+ paths = attrValues (import ./node-packages.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+ globalBuildInputs = [
+ icu.dev
+ ];
+ });
};
-in np.buildNodePackage {
+
+in stdenv.mkDerivation {
name = "newsbot-js";
src = fetchgit {
@@ -32,14 +32,11 @@ in np.buildNodePackage {
phases = [
"unpackPhase"
- "patchPhase"
"installPhase"
];
- deps = (filter (v: nixType v == "derivation") (attrValues np));
-
buildInputs = [
- nodejs
+ nodejs-8_x
makeWrapper
];
@@ -48,7 +45,7 @@ in np.buildNodePackage {
cp newsbot.js $out/
cat > $out/newsbot << EOF
- ${nodejs}/bin/node $out/newsbot.js
+ ${nodejs-8_x}/bin/node $out/newsbot.js
EOF
chmod +x $out/newsbot
diff --git a/krebs/5pkgs/simple/newsbot-js/node-packages.nix b/krebs/5pkgs/simple/newsbot-js/node-packages.nix
new file mode 100644
index 000000000..d6b2a06dd
--- /dev/null
+++ b/krebs/5pkgs/simple/newsbot-js/node-packages.nix
@@ -0,0 +1,844 @@
+# This file has been generated by node2nix 1.5.3. 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-5.5.2" = {
+ name = "ajv";
+ packageName = "ajv";
+ version = "5.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz";
+ sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
+ };
+ };
+ "array-filter-0.0.1" = {
+ name = "array-filter";
+ packageName = "array-filter";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+ sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+ };
+ };
+ "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";
+ };
+ };
+ "array-map-0.0.0" = {
+ name = "array-map";
+ packageName = "array-map";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+ sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+ };
+ };
+ "array-reduce-0.0.0" = {
+ name = "array-reduce";
+ packageName = "array-reduce";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+ sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+ };
+ };
+ "asn1-0.2.3" = {
+ name = "asn1";
+ packageName = "asn1";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+ sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+ };
+ };
+ "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.6.0" = {
+ name = "aws4";
+ packageName = "aws4";
+ version = "1.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+ sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+ };
+ };
+ "bcrypt-pbkdf-1.0.1" = {
+ name = "bcrypt-pbkdf";
+ packageName = "bcrypt-pbkdf";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+ sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+ };
+ };
+ "boom-4.3.1" = {
+ name = "boom";
+ packageName = "boom";
+ version = "4.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz";
+ sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
+ };
+ };
+ "boom-5.2.0" = {
+ name = "boom";
+ packageName = "boom";
+ version = "5.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz";
+ sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
+ };
+ };
+ "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";
+ };
+ };
+ "co-4.6.0" = {
+ name = "co";
+ packageName = "co";
+ version = "4.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+ sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+ };
+ };
+ "combined-stream-1.0.6" = {
+ name = "combined-stream";
+ packageName = "combined-stream";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+ sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
+ };
+ };
+ "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";
+ };
+ };
+ "cryptiles-3.1.2" = {
+ name = "cryptiles";
+ packageName = "cryptiles";
+ version = "3.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz";
+ sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
+ };
+ };
+ "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.1" = {
+ name = "ecc-jsbn";
+ packageName = "ecc-jsbn";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+ sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+ };
+ };
+ "extend-3.0.1" = {
+ name = "extend";
+ packageName = "extend";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
+ sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
+ };
+ };
+ "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-1.1.0" = {
+ name = "fast-deep-equal";
+ packageName = "fast-deep-equal";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
+ sha1 = "c053477817c86b51daa853c81e059b733d023614";
+ };
+ };
+ "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.2" = {
+ name = "form-data";
+ packageName = "form-data";
+ version = "2.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+ sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
+ };
+ };
+ "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.0.3" = {
+ name = "har-validator";
+ packageName = "har-validator";
+ version = "5.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
+ sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
+ };
+ };
+ "hawk-6.0.2" = {
+ name = "hawk";
+ packageName = "hawk";
+ version = "6.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz";
+ sha512 = "1nl2hjr2mnhj5jlaz8mh54z7acwz5j5idkch04qgjk78756gw5d0fjk4a2immil5ij9ijdssb9ndpryvnh2xpcbgcjv8lxybn330als";
+ };
+ };
+ "hoek-4.2.1" = {
+ name = "hoek";
+ packageName = "hoek";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz";
+ sha512 = "1y8kprb3qldxqj31zai5n8dvhydsl9nn5w4rskhnbzzhldn6pm6n5lcyam3sfkb61a62d5m58k8im7z6ngwbd9cw9zp4zm4y7ckrf20";
+ };
+ };
+ "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.3" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+ sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+ };
+ };
+ "irc-colors-1.4.2" = {
+ name = "irc-colors";
+ packageName = "irc-colors";
+ version = "1.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.4.2.tgz";
+ sha512 = "0f75yhavbhr8lbh3lh83rvyfrrrcxjawnd2rz7sacjd3zxj5524xr28j66f2l11vlngdkbplxz5xsq9dnwrcyqa0jh64k2pvzhn17a1";
+ };
+ };
+ "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.3.1" = {
+ name = "json-schema-traverse";
+ packageName = "json-schema-traverse";
+ version = "0.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
+ sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+ };
+ };
+ "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";
+ };
+ };
+ "jsonify-0.0.0" = {
+ name = "jsonify";
+ packageName = "jsonify";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+ sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+ };
+ };
+ "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.33.0" = {
+ name = "mime-db";
+ packageName = "mime-db";
+ version = "1.33.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz";
+ sha512 = "36xnw59ik9fqym00cmwb5nyzg0l03k70cp413f7639j93wgmzk1mh0xjc7i6zz3r6k9xnwh0g5cm5a1f3y8c6plgy4qld7fm887ywh4";
+ };
+ };
+ "mime-types-2.1.18" = {
+ name = "mime-types";
+ packageName = "mime-types";
+ version = "2.1.18";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz";
+ sha512 = "22krj1kw7n9z10zdyx7smcaim4bzwqsqzhspwha06q58gcrxfp93hw2cd0vk5crhq5p2dwzqlpacg32lrmp5sjzb798zdzy35mdmkwm";
+ };
+ };
+ "mri-1.1.0" = {
+ name = "mri";
+ packageName = "mri";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz";
+ sha1 = "5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a";
+ };
+ };
+ "nan-2.10.0" = {
+ name = "nan";
+ packageName = "nan";
+ version = "2.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz";
+ sha512 = "349rr7x0djrlkav4gbhkg355852ingn965r0kkch8rr4cwp7qki9676zpq8cq988yszzd2hld6szsbbnd1v6rghzf11abn1nyzlj1vc";
+ };
+ };
+ "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.8.2" = {
+ name = "oauth-sign";
+ packageName = "oauth-sign";
+ version = "0.8.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+ sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+ };
+ };
+ "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.0" = {
+ name = "process-nextick-args";
+ packageName = "process-nextick-args";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz";
+ sha512 = "0rw8xpqqkhs91722slvzf8icxfaimqp4w8zb3840jxr7r8n8035byl6dhdi5bm0yr6x7sdws0gf3m025fg6hqgaklwlbl4d7bah5l9j";
+ };
+ };
+ "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";
+ };
+ };
+ "qs-6.5.1" = {
+ name = "qs";
+ packageName = "qs";
+ version = "6.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
+ sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
+ };
+ };
+ "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 = "0mj9b6190amln9rg89x5pq2n195s3v0gzicpdamv1kbabg69aw5m71l34jsjn7bqil7405l6l35x9ijnb3h4jz5vx2i00l8sl1ll2xm";
+ };
+ };
+ "safe-buffer-5.1.1" = {
+ name = "safe-buffer";
+ packageName = "safe-buffer";
+ version = "5.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+ sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
+ };
+ };
+ "sax-1.2.4" = {
+ name = "sax";
+ packageName = "sax";
+ version = "1.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+ sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
+ };
+ };
+ "sntp-2.1.0" = {
+ name = "sntp";
+ packageName = "sntp";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz";
+ sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
+ };
+ };
+ "sshpk-1.14.1" = {
+ name = "sshpk";
+ packageName = "sshpk";
+ version = "1.14.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+ sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
+ };
+ };
+ "string_decoder-1.1.1" = {
+ name = "string_decoder";
+ packageName = "string_decoder";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+ sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+ };
+ };
+ "stringstream-0.0.5" = {
+ name = "stringstream";
+ packageName = "stringstream";
+ version = "0.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+ sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+ };
+ };
+ "tough-cookie-2.3.4" = {
+ name = "tough-cookie";
+ packageName = "tough-cookie";
+ version = "2.3.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz";
+ sha512 = "0ncm6j3cjq1f26mzjf04k9bkw1b08w53s4qa3a11c1bdj4pgnqv1422c1xs5jyy6y1psppjx52fhagq5zkjkgrcpdkxcdiry96r77jd";
+ };
+ };
+ "tunnel-agent-0.6.0" = {
+ name = "tunnel-agent";
+ packageName = "tunnel-agent";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+ sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+ };
+ };
+ "tweetnacl-0.14.5" = {
+ name = "tweetnacl";
+ packageName = "tweetnacl";
+ version = "0.14.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+ sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+ };
+ };
+ "util-deprecate-1.0.2" = {
+ name = "util-deprecate";
+ packageName = "util-deprecate";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+ sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+ };
+ };
+ "uuid-3.2.1" = {
+ name = "uuid";
+ packageName = "uuid";
+ version = "3.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+ sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
+ };
+ };
+ "verror-1.10.0" = {
+ name = "verror";
+ packageName = "verror";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+ sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+ };
+ };
+ };
+in
+{
+ feedparser = nodeEnv.buildNodePackage {
+ name = "feedparser";
+ packageName = "feedparser";
+ version = "2.2.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/feedparser/-/feedparser-2.2.9.tgz";
+ sha1 = "9138197dafdae05fcadde0036beeaf6066c2c5e9";
+ };
+ dependencies = [
+ sources."addressparser-1.0.1"
+ sources."array-indexofobject-0.0.1"
+ sources."core-util-is-1.0.2"
+ sources."inherits-2.0.3"
+ sources."isarray-1.0.0"
+ sources."lodash.assign-4.2.0"
+ sources."lodash.get-4.4.2"
+ sources."lodash.has-4.5.2"
+ sources."lodash.uniq-4.5.0"
+ sources."mri-1.1.0"
+ sources."process-nextick-args-2.0.0"
+ sources."readable-stream-2.3.6"
+ sources."safe-buffer-5.1.1"
+ sources."sax-1.2.4"
+ sources."string_decoder-1.1.1"
+ sources."util-deprecate-1.0.2"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Robust RSS Atom and RDF feed parsing using sax js";
+ homepage = http://github.com/danmactough/node-feedparser;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ form-data = nodeEnv.buildNodePackage {
+ name = "form-data";
+ packageName = "form-data";
+ version = "2.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+ sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
+ };
+ dependencies = [
+ sources."asynckit-0.4.0"
+ sources."combined-stream-1.0.6"
+ sources."delayed-stream-1.0.0"
+ sources."mime-db-1.33.0"
+ sources."mime-types-2.1.18"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ irc = nodeEnv.buildNodePackage {
+ name = "irc";
+ packageName = "irc";
+ version = "0.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz";
+ sha1 = "3714f4768365a96d0b2f776bc91166beb2464bbc";
+ };
+ dependencies = [
+ sources."iconv-2.2.3"
+ sources."irc-colors-1.4.2"
+ sources."nan-2.10.0"
+ sources."node-icu-charset-detector-0.2.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "An IRC client library for node";
+ homepage = "https://github.com/martynsmith/node-irc#readme";
+ license = "GPL-3.0";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ request = nodeEnv.buildNodePackage {
+ name = "request";
+ packageName = "request";
+ version = "2.85.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/request/-/request-2.85.0.tgz";
+ sha512 = "2d3hg10zs5ycnr8prmiwdhacf88fl0x0bi6szs0z2r07zcbk419laixwpjp8sqapbc2ifyyih7p3r60wgr58bmcncz3pqnx523c8zph";
+ };
+ dependencies = [
+ sources."ajv-5.5.2"
+ sources."asn1-0.2.3"
+ sources."assert-plus-1.0.0"
+ sources."asynckit-0.4.0"
+ sources."aws-sign2-0.7.0"
+ sources."aws4-1.6.0"
+ sources."bcrypt-pbkdf-1.0.1"
+ sources."boom-4.3.1"
+ sources."caseless-0.12.0"
+ sources."co-4.6.0"
+ sources."combined-stream-1.0.6"
+ sources."core-util-is-1.0.2"
+ (sources."cryptiles-3.1.2" // {
+ dependencies = [
+ sources."boom-5.2.0"
+ ];
+ })
+ sources."dashdash-1.14.1"
+ sources."delayed-stream-1.0.0"
+ sources."ecc-jsbn-0.1.1"
+ sources."extend-3.0.1"
+ sources."extsprintf-1.3.0"
+ sources."fast-deep-equal-1.1.0"
+ sources."fast-json-stable-stringify-2.0.0"
+ sources."forever-agent-0.6.1"
+ sources."form-data-2.3.2"
+ sources."getpass-0.1.7"
+ sources."har-schema-2.0.0"
+ sources."har-validator-5.0.3"
+ sources."hawk-6.0.2"
+ sources."hoek-4.2.1"
+ sources."http-signature-1.2.0"
+ sources."is-typedarray-1.0.0"
+ sources."isstream-0.1.2"
+ sources."jsbn-0.1.1"
+ sources."json-schema-0.2.3"
+ sources."json-schema-traverse-0.3.1"
+ sources."json-stringify-safe-5.0.1"
+ sources."jsprim-1.4.1"
+ sources."mime-db-1.33.0"
+ sources."mime-types-2.1.18"
+ sources."oauth-sign-0.8.2"
+ sources."performance-now-2.1.0"
+ sources."punycode-1.4.1"
+ sources."qs-6.5.1"
+ sources."safe-buffer-5.1.1"
+ sources."sntp-2.1.0"
+ sources."sshpk-1.14.1"
+ sources."stringstream-0.0.5"
+ sources."tough-cookie-2.3.4"
+ sources."tunnel-agent-0.6.0"
+ sources."tweetnacl-0.14.5"
+ sources."uuid-3.2.1"
+ sources."verror-1.10.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Simplified HTTP request client.";
+ homepage = "https://github.com/request/request#readme";
+ license = "Apache-2.0";
+ };
+ production = true;
+ bypassCache = true;
+ };
+ shell-quote = nodeEnv.buildNodePackage {
+ name = "shell-quote";
+ packageName = "shell-quote";
+ version = "1.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz";
+ sha1 = "f4781949cce402697127430ea3b3c5476f481767";
+ };
+ dependencies = [
+ sources."array-filter-0.0.1"
+ sources."array-map-0.0.0"
+ sources."array-reduce-0.0.0"
+ sources."jsonify-0.0.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "quote and parse shell commands";
+ homepage = "https://github.com/substack/node-shell-quote#readme";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ };
+} \ No newline at end of file
diff --git a/krebs/5pkgs/simple/newsbot-js/packages.nix b/krebs/5pkgs/simple/newsbot-js/packages.nix
deleted file mode 100644
index 62921cb8f..000000000
--- a/krebs/5pkgs/simple/newsbot-js/packages.nix
+++ /dev/null
@@ -1,1747 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
- by-spec."addressparser"."^1.0.1" =
- self.by-version."addressparser"."1.0.1";
- by-version."addressparser"."1.0.1" = self.buildNodePackage {
- name = "addressparser-1.0.1";
- version = "1.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz";
- name = "addressparser-1.0.1.tgz";
- sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."ansi-regex"."^2.0.0" =
- self.by-version."ansi-regex"."2.1.1";
- by-version."ansi-regex"."2.1.1" = self.buildNodePackage {
- name = "ansi-regex-2.1.1";
- version = "2.1.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
- name = "ansi-regex-2.1.1.tgz";
- sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."ansi-styles"."^2.2.1" =
- self.by-version."ansi-styles"."2.2.1";
- by-version."ansi-styles"."2.2.1" = self.buildNodePackage {
- name = "ansi-styles-2.2.1";
- version = "2.2.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
- name = "ansi-styles-2.2.1.tgz";
- sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."array-filter"."~0.0.0" =
- self.by-version."array-filter"."0.0.1";
- by-version."array-filter"."0.0.1" = self.buildNodePackage {
- name = "array-filter-0.0.1";
- version = "0.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
- name = "array-filter-0.0.1.tgz";
- sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."array-indexofobject"."~0.0.1" =
- self.by-version."array-indexofobject"."0.0.1";
- by-version."array-indexofobject"."0.0.1" = self.buildNodePackage {
- name = "array-indexofobject-0.0.1";
- version = "0.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz";
- name = "array-indexofobject-0.0.1.tgz";
- sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."array-map"."~0.0.0" =
- self.by-version."array-map"."0.0.0";
- by-version."array-map"."0.0.0" = self.buildNodePackage {
- name = "array-map-0.0.0";
- version = "0.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
- name = "array-map-0.0.0.tgz";
- sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."array-reduce"."~0.0.0" =
- self.by-version."array-reduce"."0.0.0";
- by-version."array-reduce"."0.0.0" = self.buildNodePackage {
- name = "array-reduce-0.0.0";
- version = "0.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
- name = "array-reduce-0.0.0.tgz";
- sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."asn1"."~0.2.3" =
- self.by-version."asn1"."0.2.3";
- by-version."asn1"."0.2.3" = self.buildNodePackage {
- name = "asn1-0.2.3";
- version = "0.2.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
- name = "asn1-0.2.3.tgz";
- sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."assert-plus"."^0.2.0" =
- self.by-version."assert-plus"."0.2.0";
- by-version."assert-plus"."0.2.0" = self.buildNodePackage {
- name = "assert-plus-0.2.0";
- version = "0.2.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
- name = "assert-plus-0.2.0.tgz";
- sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."assert-plus"."^1.0.0" =
- self.by-version."assert-plus"."1.0.0";
- by-version."assert-plus"."1.0.0" = self.buildNodePackage {
- name = "assert-plus-1.0.0";
- version = "1.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
- name = "assert-plus-1.0.0.tgz";
- sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."asynckit"."^0.4.0" =
- self.by-version."asynckit"."0.4.0";
- by-version."asynckit"."0.4.0" = self.buildNodePackage {
- name = "asynckit-0.4.0";
- version = "0.4.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
- name = "asynckit-0.4.0.tgz";
- sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."aws-sign2"."~0.6.0" =
- self.by-version."aws-sign2"."0.6.0";
- by-version."aws-sign2"."0.6.0" = self.buildNodePackage {
- name = "aws-sign2-0.6.0";
- version = "0.6.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
- name = "aws-sign2-0.6.0.tgz";
- sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."aws4"."^1.2.1" =
- self.by-version."aws4"."1.5.0";
- by-version."aws4"."1.5.0" = self.buildNodePackage {
- name = "aws4-1.5.0";
- version = "1.5.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz";
- name = "aws4-1.5.0.tgz";
- sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."bcrypt-pbkdf"."^1.0.0" =
- self.by-version."bcrypt-pbkdf"."1.0.1";
- by-version."bcrypt-pbkdf"."1.0.1" = self.buildNodePackage {
- name = "bcrypt-pbkdf-1.0.1";
- version = "1.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
- name = "bcrypt-pbkdf-1.0.1.tgz";
- sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
- };
- deps = {
- "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."boom"."2.x.x" =
- self.by-version."boom"."2.10.1";
- by-version."boom"."2.10.1" = self.buildNodePackage {
- name = "boom-2.10.1";
- version = "2.10.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
- name = "boom-2.10.1.tgz";
- sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
- };
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."buffer-shims"."^1.0.0" =
- self.by-version."buffer-shims"."1.0.0";
- by-version."buffer-shims"."1.0.0" = self.buildNodePackage {
- name = "buffer-shims-1.0.0";
- version = "1.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
- name = "buffer-shims-1.0.0.tgz";
- sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."caseless"."~0.11.0" =
- self.by-version."caseless"."0.11.0";
- by-version."caseless"."0.11.0" = self.buildNodePackage {
- name = "caseless-0.11.0";
- version = "0.11.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
- name = "caseless-0.11.0.tgz";
- sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."chalk"."^1.1.1" =
- self.by-version."chalk"."1.1.3";
- by-version."chalk"."1.1.3" = self.buildNodePackage {
- name = "chalk-1.1.3";
- version = "1.1.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
- name = "chalk-1.1.3.tgz";
- sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
- };
- deps = {
- "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1";
- "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5";
- "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
- "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
- "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."combined-stream"."^1.0.5" =
- self.by-version."combined-stream"."1.0.5";
- by-version."combined-stream"."1.0.5" = self.buildNodePackage {
- name = "combined-stream-1.0.5";
- version = "1.0.5";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
- name = "combined-stream-1.0.5.tgz";
- sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
- };
- deps = {
- "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."combined-stream"."~1.0.5" =
- self.by-version."combined-stream"."1.0.5";
- by-spec."commander"."^2.9.0" =
- self.by-version."commander"."2.9.0";
- by-version."commander"."2.9.0" = self.buildNodePackage {
- name = "commander-2.9.0";
- version = "2.9.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
- name = "commander-2.9.0.tgz";
- sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
- };
- deps = {
- "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."core-util-is"."~1.0.0" =
- self.by-version."core-util-is"."1.0.2";
- by-version."core-util-is"."1.0.2" = self.buildNodePackage {
- name = "core-util-is-1.0.2";
- version = "1.0.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
- name = "core-util-is-1.0.2.tgz";
- sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."cryptiles"."2.x.x" =
- self.by-version."cryptiles"."2.0.5";
- by-version."cryptiles"."2.0.5" = self.buildNodePackage {
- name = "cryptiles-2.0.5";
- version = "2.0.5";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
- name = "cryptiles-2.0.5.tgz";
- sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
- };
- deps = {
- "boom-2.10.1" = self.by-version."boom"."2.10.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."dashdash"."^1.12.0" =
- self.by-version."dashdash"."1.14.1";
- by-version."dashdash"."1.14.1" = self.buildNodePackage {
- name = "dashdash-1.14.1";
- version = "1.14.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
- name = "dashdash-1.14.1.tgz";
- sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
- };
- deps = {
- "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."delayed-stream"."~1.0.0" =
- self.by-version."delayed-stream"."1.0.0";
- by-version."delayed-stream"."1.0.0" = self.buildNodePackage {
- name = "delayed-stream-1.0.0";
- version = "1.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
- name = "delayed-stream-1.0.0.tgz";
- sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."ecc-jsbn"."~0.1.1" =
- self.by-version."ecc-jsbn"."0.1.1";
- by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage {
- name = "ecc-jsbn-0.1.1";
- version = "0.1.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
- name = "ecc-jsbn-0.1.1.tgz";
- sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
- };
- deps = {
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."escape-string-regexp"."^1.0.2" =
- self.by-version."escape-string-regexp"."1.0.5";
- by-version."escape-string-regexp"."1.0.5" = self.buildNodePackage {
- name = "escape-string-regexp-1.0.5";
- version = "1.0.5";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
- name = "escape-string-regexp-1.0.5.tgz";
- sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."extend"."~3.0.0" =
- self.by-version."extend"."3.0.0";
- by-version."extend"."3.0.0" = self.buildNodePackage {
- name = "extend-3.0.0";
- version = "3.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
- name = "extend-3.0.0.tgz";
- sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."extsprintf"."1.0.2" =
- self.by-version."extsprintf"."1.0.2";
- by-version."extsprintf"."1.0.2" = self.buildNodePackage {
- name = "extsprintf-1.0.2";
- version = "1.0.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
- name = "extsprintf-1.0.2.tgz";
- sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."feedparser"."*" =
- self.by-version."feedparser"."2.1.0";
- by-version."feedparser"."2.1.0" = self.buildNodePackage {
- name = "feedparser-2.1.0";
- version = "2.1.0";
- bin = true;
- src = fetchurl {
- url = "https://registry.npmjs.org/feedparser/-/feedparser-2.1.0.tgz";
- name = "feedparser-2.1.0.tgz";
- sha1 = "4cd98bf04e18db5b8644f91e98da89dd179f1fe7";
- };
- deps = {
- "addressparser-1.0.1" = self.by-version."addressparser"."1.0.1";
- "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1";
- "lodash.assign-4.2.0" = self.by-version."lodash.assign"."4.2.0";
- "lodash.get-4.4.2" = self.by-version."lodash.get"."4.4.2";
- "lodash.has-4.5.2" = self.by-version."lodash.has"."4.5.2";
- "lodash.uniq-4.5.0" = self.by-version."lodash.uniq"."4.5.0";
- "readable-stream-2.2.2" = self.by-version."readable-stream"."2.2.2";
- "sax-1.2.1" = self.by-version."sax"."1.2.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "feedparser" = self.by-version."feedparser"."2.1.0";
- by-spec."forever-agent"."~0.6.1" =
- self.by-version."forever-agent"."0.6.1";
- by-version."forever-agent"."0.6.1" = self.buildNodePackage {
- name = "forever-agent-0.6.1";
- version = "0.6.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
- name = "forever-agent-0.6.1.tgz";
- sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."form-data"."*" =
- self.by-version."form-data"."2.1.2";
- by-version."form-data"."2.1.2" = self.buildNodePackage {
- name = "form-data-2.1.2";
- version = "2.1.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz";
- name = "form-data-2.1.2.tgz";
- sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4";
- };
- deps = {
- "asynckit-0.4.0" = self.by-version."asynckit"."0.4.0";
- "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
- "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "form-data" = self.by-version."form-data"."2.1.2";
- by-spec."form-data"."~2.1.1" =
- self.by-version."form-data"."2.1.2";
- by-spec."generate-function"."^2.0.0" =
- self.by-version."generate-function"."2.0.0";
- by-version."generate-function"."2.0.0" = self.buildNodePackage {
- name = "generate-function-2.0.0";
- version = "2.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
- name = "generate-function-2.0.0.tgz";
- sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."generate-object-property"."^1.1.0" =
- self.by-version."generate-object-property"."1.2.0";
- by-version."generate-object-property"."1.2.0" = self.buildNodePackage {
- name = "generate-object-property-1.2.0";
- version = "1.2.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
- name = "generate-object-property-1.2.0.tgz";
- sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
- };
- deps = {
- "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."getpass"."^0.1.1" =
- self.by-version."getpass"."0.1.6";
- by-version."getpass"."0.1.6" = self.buildNodePackage {
- name = "getpass-0.1.6";
- version = "0.1.6";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz";
- name = "getpass-0.1.6.tgz";
- sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
- };
- deps = {
- "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."graceful-readlink".">= 1.0.0" =
- self.by-version."graceful-readlink"."1.0.1";
- by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
- name = "graceful-readlink-1.0.1";
- version = "1.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
- name = "graceful-readlink-1.0.1.tgz";
- sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."har-validator"."~2.0.6" =
- self.by-version."har-validator"."2.0.6";
- by-version."har-validator"."2.0.6" = self.buildNodePackage {
- name = "har-validator-2.0.6";
- version = "2.0.6";
- bin = true;
- src = fetchurl {
- url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
- name = "har-validator-2.0.6.tgz";
- sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
- };
- deps = {
- "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
- "commander-2.9.0" = self.by-version."commander"."2.9.0";
- "is-my-json-valid-2.15.0" = self.by-version."is-my-json-valid"."2.15.0";
- "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."has-ansi"."^2.0.0" =
- self.by-version."has-ansi"."2.0.0";
- by-version."has-ansi"."2.0.0" = self.buildNodePackage {
- name = "has-ansi-2.0.0";
- version = "2.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
- name = "has-ansi-2.0.0.tgz";
- sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
- };
- deps = {
- "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."hawk"."~3.1.3" =
- self.by-version."hawk"."3.1.3";
- by-version."hawk"."3.1.3" = self.buildNodePackage {
- name = "hawk-3.1.3";
- version = "3.1.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
- name = "hawk-3.1.3.tgz";
- sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
- };
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
- "boom-2.10.1" = self.by-version."boom"."2.10.1";
- "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5";
- "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."hoek"."2.x.x" =
- self.by-version."hoek"."2.16.3";
- by-version."hoek"."2.16.3" = self.buildNodePackage {
- name = "hoek-2.16.3";
- version = "2.16.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
- name = "hoek-2.16.3.tgz";
- sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."http-signature"."~1.1.0" =
- self.by-version."http-signature"."1.1.1";
- by-version."http-signature"."1.1.1" = self.buildNodePackage {
- name = "http-signature-1.1.1";
- version = "1.1.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
- name = "http-signature-1.1.1.tgz";
- sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
- };
- deps = {
- "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
- "jsprim-1.3.1" = self.by-version."jsprim"."1.3.1";
- "sshpk-1.10.2" = self.by-version."sshpk"."1.10.2";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."iconv"."~2.2.1" =
- self.by-version."iconv"."2.2.1";
- by-version."iconv"."2.2.1" = self.buildNodePackage {
- name = "iconv-2.2.1";
- version = "2.2.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/iconv/-/iconv-2.2.1.tgz";
- name = "iconv-2.2.1.tgz";
- sha1 = "39b13fdd98987d26aef26c0a2f2a900911fa4584";
- };
- deps = {
- "nan-2.5.1" = self.by-version."nan"."2.5.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."inherits"."~2.0.1" =
- self.by-version."inherits"."2.0.3";
- by-version."inherits"."2.0.3" = self.buildNodePackage {
- name = "inherits-2.0.3";
- version = "2.0.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
- name = "inherits-2.0.3.tgz";
- sha1 = "633c2c83e3da42a502f52466022480f4208261de";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."irc"."*" =
- self.by-version."irc"."0.5.2";
- by-version."irc"."0.5.2" = self.buildNodePackage {
- name = "irc-0.5.2";
- version = "0.5.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz";
- name = "irc-0.5.2.tgz";
- sha1 = "3714f4768365a96d0b2f776bc91166beb2464bbc";
- };
- deps = {
- "irc-colors-1.3.1" = self.by-version."irc-colors"."1.3.1";
- };
- optionalDependencies = {
- "iconv-2.2.1" = self.by-version."iconv"."2.2.1";
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "irc" = self.by-version."irc"."0.5.2";
- by-spec."irc-colors"."^1.1.0" =
- self.by-version."irc-colors"."1.3.1";
- by-version."irc-colors"."1.3.1" = self.buildNodePackage {
- name = "irc-colors-1.3.1";
- version = "1.3.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.3.1.tgz";
- name = "irc-colors-1.3.1.tgz";
- sha1 = "a6fccee5d9ecdc010c2b1cde3fbdff1f7134aff6";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."is-my-json-valid"."^2.12.4" =
- self.by-version."is-my-json-valid"."2.15.0";
- by-version."is-my-json-valid"."2.15.0" = self.buildNodePackage {
- name = "is-my-json-valid-2.15.0";
- version = "2.15.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz";
- name = "is-my-json-valid-2.15.0.tgz";
- sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b";
- };
- deps = {
- "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
- "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
- "jsonpointer-4.0.1" = self.by-version."jsonpointer"."4.0.1";
- "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."is-property"."^1.0.0" =
- self.by-version."is-property"."1.0.2";
- by-version."is-property"."1.0.2" = self.buildNodePackage {
- name = "is-property-1.0.2";
- version = "1.0.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
- name = "is-property-1.0.2.tgz";
- sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."is-typedarray"."~1.0.0" =
- self.by-version."is-typedarray"."1.0.0";
- by-version."is-typedarray"."1.0.0" = self.buildNodePackage {
- name = "is-typedarray-1.0.0";
- version = "1.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
- name = "is-typedarray-1.0.0.tgz";
- sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."isarray"."~1.0.0" =
- self.by-version."isarray"."1.0.0";
- by-version."isarray"."1.0.0" = self.buildNodePackage {
- name = "isarray-1.0.0";
- version = "1.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
- name = "isarray-1.0.0.tgz";
- sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."isstream"."~0.1.2" =
- self.by-version."isstream"."0.1.2";
- by-version."isstream"."0.1.2" = self.buildNodePackage {
- name = "isstream-0.1.2";
- version = "0.1.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
- name = "isstream-0.1.2.tgz";
- sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."jodid25519"."^1.0.0" =
- self.by-version."jodid25519"."1.0.2";
- by-version."jodid25519"."1.0.2" = self.buildNodePackage {
- name = "jodid25519-1.0.2";
- version = "1.0.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
- name = "jodid25519-1.0.2.tgz";
- sha1 = "06d4912255093419477d425633606e0e90782967";
- };
- deps = {
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."jsbn"."~0.1.0" =
- self.by-version."jsbn"."0.1.0";
- by-version."jsbn"."0.1.0" = self.buildNodePackage {
- name = "jsbn-0.1.0";
- version = "0.1.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
- name = "jsbn-0.1.0.tgz";
- sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."json-schema"."0.2.3" =
- self.by-version."json-schema"."0.2.3";
- by-version."json-schema"."0.2.3" = self.buildNodePackage {
- name = "json-schema-0.2.3";
- version = "0.2.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
- name = "json-schema-0.2.3.tgz";
- sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."json-stringify-safe"."~5.0.1" =
- self.by-version."json-stringify-safe"."5.0.1";
- by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage {
- name = "json-stringify-safe-5.0.1";
- version = "5.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
- name = "json-stringify-safe-5.0.1.tgz";
- sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."jsonify"."~0.0.0" =
- self.by-version."jsonify"."0.0.0";
- by-version."jsonify"."0.0.0" = self.buildNodePackage {
- name = "jsonify-0.0.0";
- version = "0.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
- name = "jsonify-0.0.0.tgz";
- sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."jsonpointer"."^4.0.0" =
- self.by-version."jsonpointer"."4.0.1";
- by-version."jsonpointer"."4.0.1" = self.buildNodePackage {
- name = "jsonpointer-4.0.1";
- version = "4.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
- name = "jsonpointer-4.0.1.tgz";
- sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."jsprim"."^1.2.2" =
- self.by-version."jsprim"."1.3.1";
- by-version."jsprim"."1.3.1" = self.buildNodePackage {
- name = "jsprim-1.3.1";
- version = "1.3.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz";
- name = "jsprim-1.3.1.tgz";
- sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252";
- };
- deps = {
- "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
- "json-schema-0.2.3" = self.by-version."json-schema"."0.2.3";
- "verror-1.3.6" = self.by-version."verror"."1.3.6";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."lodash.assign"."^4.2.0" =
- self.by-version."lodash.assign"."4.2.0";
- by-version."lodash.assign"."4.2.0" = self.buildNodePackage {
- name = "lodash.assign-4.2.0";
- version = "4.2.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz";
- name = "lodash.assign-4.2.0.tgz";
- sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."lodash.get"."^4.4.2" =
- self.by-version."lodash.get"."4.4.2";
- by-version."lodash.get"."4.4.2" = self.buildNodePackage {
- name = "lodash.get-4.4.2";
- version = "4.4.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
- name = "lodash.get-4.4.2.tgz";
- sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."lodash.has"."^4.5.2" =
- self.by-version."lodash.has"."4.5.2";
- by-version."lodash.has"."4.5.2" = self.buildNodePackage {
- name = "lodash.has-4.5.2";
- version = "4.5.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
- name = "lodash.has-4.5.2.tgz";
- sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."lodash.uniq"."^4.5.0" =
- self.by-version."lodash.uniq"."4.5.0";
- by-version."lodash.uniq"."4.5.0" = self.buildNodePackage {
- name = "lodash.uniq-4.5.0";
- version = "4.5.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
- name = "lodash.uniq-4.5.0.tgz";
- sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."mime-db"."~1.26.0" =
- self.by-version."mime-db"."1.26.0";
- by-version."mime-db"."1.26.0" = self.buildNodePackage {
- name = "mime-db-1.26.0";
- version = "1.26.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz";
- name = "mime-db-1.26.0.tgz";
- sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."mime-types"."^2.1.12" =
- self.by-version."mime-types"."2.1.14";
- by-version."mime-types"."2.1.14" = self.buildNodePackage {
- name = "mime-types-2.1.14";
- version = "2.1.14";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz";
- name = "mime-types-2.1.14.tgz";
- sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee";
- };
- deps = {
- "mime-db-1.26.0" = self.by-version."mime-db"."1.26.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."mime-types"."~2.1.7" =
- self.by-version."mime-types"."2.1.14";
- by-spec."nan"."^2.3.3" =
- self.by-version."nan"."2.5.1";
- by-version."nan"."2.5.1" = self.buildNodePackage {
- name = "nan-2.5.1";
- version = "2.5.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz";
- name = "nan-2.5.1.tgz";
- sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."nan"."^2.3.5" =
- self.by-version."nan"."2.5.1";
- by-spec."oauth-sign"."~0.8.1" =
- self.by-version."oauth-sign"."0.8.2";
- by-version."oauth-sign"."0.8.2" = self.buildNodePackage {
- name = "oauth-sign-0.8.2";
- version = "0.8.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
- name = "oauth-sign-0.8.2.tgz";
- sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."pinkie"."^2.0.0" =
- self.by-version."pinkie"."2.0.4";
- by-version."pinkie"."2.0.4" = self.buildNodePackage {
- name = "pinkie-2.0.4";
- version = "2.0.4";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
- name = "pinkie-2.0.4.tgz";
- sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."pinkie-promise"."^2.0.0" =
- self.by-version."pinkie-promise"."2.0.1";
- by-version."pinkie-promise"."2.0.1" = self.buildNodePackage {
- name = "pinkie-promise-2.0.1";
- version = "2.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
- name = "pinkie-promise-2.0.1.tgz";
- sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
- };
- deps = {
- "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."process-nextick-args"."~1.0.6" =
- self.by-version."process-nextick-args"."1.0.7";
- by-version."process-nextick-args"."1.0.7" = self.buildNodePackage {
- name = "process-nextick-args-1.0.7";
- version = "1.0.7";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
- name = "process-nextick-args-1.0.7.tgz";
- sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."punycode"."^1.4.1" =
- self.by-version."punycode"."1.4.1";
- by-version."punycode"."1.4.1" = self.buildNodePackage {
- name = "punycode-1.4.1";
- version = "1.4.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
- name = "punycode-1.4.1.tgz";
- sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."qs"."~6.3.0" =
- self.by-version."qs"."6.3.0";
- by-version."qs"."6.3.0" = self.buildNodePackage {
- name = "qs-6.3.0";
- version = "6.3.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz";
- name = "qs-6.3.0.tgz";
- sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."readable-stream"."^2.2.2" =
- self.by-version."readable-stream"."2.2.2";
- by-version."readable-stream"."2.2.2" = self.buildNodePackage {
- name = "readable-stream-2.2.2";
- version = "2.2.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz";
- name = "readable-stream-2.2.2.tgz";
- sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e";
- };
- deps = {
- "buffer-shims-1.0.0" = self.by-version."buffer-shims"."1.0.0";
- "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
- "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
- "inherits-2.0.3" = self.by-version."inherits"."2.0.3";
- "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7";
- "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
- "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."request"."*" =
- self.by-version."request"."2.79.0";
- by-version."request"."2.79.0" = self.buildNodePackage {
- name = "request-2.79.0";
- version = "2.79.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz";
- name = "request-2.79.0.tgz";
- sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
- };
- deps = {
- "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
- "aws4-1.5.0" = self.by-version."aws4"."1.5.0";
- "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
- "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
- "extend-3.0.0" = self.by-version."extend"."3.0.0";
- "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
- "form-data-2.1.2" = self.by-version."form-data"."2.1.2";
- "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
- "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
- "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
- "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
- "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
- "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
- "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14";
- "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
- "qs-6.3.0" = self.by-version."qs"."6.3.0";
- "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
- "tough-cookie-2.3.2" = self.by-version."tough-cookie"."2.3.2";
- "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
- "uuid-3.0.1" = self.by-version."uuid"."3.0.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "request" = self.by-version."request"."2.79.0";
- by-spec."sax"."^1.2.1" =
- self.by-version."sax"."1.2.1";
- by-version."sax"."1.2.1" = self.buildNodePackage {
- name = "sax-1.2.1";
- version = "1.2.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
- name = "sax-1.2.1.tgz";
- sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."shell-quote"."*" =
- self.by-version."shell-quote"."1.6.1";
- by-version."shell-quote"."1.6.1" = self.buildNodePackage {
- name = "shell-quote-1.6.1";
- version = "1.6.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz";
- name = "shell-quote-1.6.1.tgz";
- sha1 = "f4781949cce402697127430ea3b3c5476f481767";
- };
- deps = {
- "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
- "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1";
- "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0";
- "array-map-0.0.0" = self.by-version."array-map"."0.0.0";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- "shell-quote" = self.by-version."shell-quote"."1.6.1";
- by-spec."sntp"."1.x.x" =
- self.by-version."sntp"."1.0.9";
- by-version."sntp"."1.0.9" = self.buildNodePackage {
- name = "sntp-1.0.9";
- version = "1.0.9";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
- name = "sntp-1.0.9.tgz";
- sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
- };
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."sshpk"."^1.7.0" =
- self.by-version."sshpk"."1.10.2";
- by-version."sshpk"."1.10.2" = self.buildNodePackage {
- name = "sshpk-1.10.2";
- version = "1.10.2";
- bin = true;
- src = fetchurl {
- url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz";
- name = "sshpk-1.10.2.tgz";
- sha1 = "d5a804ce22695515638e798dbe23273de070a5fa";
- };
- deps = {
- "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
- "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
- "dashdash-1.14.1" = self.by-version."dashdash"."1.14.1";
- "getpass-0.1.6" = self.by-version."getpass"."0.1.6";
- };
- optionalDependencies = {
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5";
- "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
- "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
- "bcrypt-pbkdf-1.0.1" = self.by-version."bcrypt-pbkdf"."1.0.1";
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."string_decoder"."~0.10.x" =
- self.by-version."string_decoder"."0.10.31";
- by-version."string_decoder"."0.10.31" = self.buildNodePackage {
- name = "string_decoder-0.10.31";
- version = "0.10.31";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
- name = "string_decoder-0.10.31.tgz";
- sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."stringstream"."~0.0.4" =
- self.by-version."stringstream"."0.0.5";
- by-version."stringstream"."0.0.5" = self.buildNodePackage {
- name = "stringstream-0.0.5";
- version = "0.0.5";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
- name = "stringstream-0.0.5.tgz";
- sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."strip-ansi"."^3.0.0" =
- self.by-version."strip-ansi"."3.0.1";
- by-version."strip-ansi"."3.0.1" = self.buildNodePackage {
- name = "strip-ansi-3.0.1";
- version = "3.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
- name = "strip-ansi-3.0.1.tgz";
- sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
- };
- deps = {
- "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."supports-color"."^2.0.0" =
- self.by-version."supports-color"."2.0.0";
- by-version."supports-color"."2.0.0" = self.buildNodePackage {
- name = "supports-color-2.0.0";
- version = "2.0.0";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
- name = "supports-color-2.0.0.tgz";
- sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."tough-cookie"."~2.3.0" =
- self.by-version."tough-cookie"."2.3.2";
- by-version."tough-cookie"."2.3.2" = self.buildNodePackage {
- name = "tough-cookie-2.3.2";
- version = "2.3.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz";
- name = "tough-cookie-2.3.2.tgz";
- sha1 = "f081f76e4c85720e6c37a5faced737150d84072a";
- };
- deps = {
- "punycode-1.4.1" = self.by-version."punycode"."1.4.1";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."tunnel-agent"."~0.4.1" =
- self.by-version."tunnel-agent"."0.4.3";
- by-version."tunnel-agent"."0.4.3" = self.buildNodePackage {
- name = "tunnel-agent-0.4.3";
- version = "0.4.3";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
- name = "tunnel-agent-0.4.3.tgz";
- sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."tweetnacl"."^0.14.3" =
- self.by-version."tweetnacl"."0.14.5";
- by-version."tweetnacl"."0.14.5" = self.buildNodePackage {
- name = "tweetnacl-0.14.5";
- version = "0.14.5";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
- name = "tweetnacl-0.14.5.tgz";
- sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."tweetnacl"."~0.14.0" =
- self.by-version."tweetnacl"."0.14.5";
- by-spec."util-deprecate"."~1.0.1" =
- self.by-version."util-deprecate"."1.0.2";
- by-version."util-deprecate"."1.0.2" = self.buildNodePackage {
- name = "util-deprecate-1.0.2";
- version = "1.0.2";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
- name = "util-deprecate-1.0.2.tgz";
- sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."uuid"."^3.0.0" =
- self.by-version."uuid"."3.0.1";
- by-version."uuid"."3.0.1" = self.buildNodePackage {
- name = "uuid-3.0.1";
- version = "3.0.1";
- bin = true;
- src = fetchurl {
- url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
- name = "uuid-3.0.1.tgz";
- sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."verror"."1.3.6" =
- self.by-version."verror"."1.3.6";
- by-version."verror"."1.3.6" = self.buildNodePackage {
- name = "verror-1.3.6";
- version = "1.3.6";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
- name = "verror-1.3.6.tgz";
- sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
- };
- deps = {
- "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
- by-spec."xtend"."^4.0.0" =
- self.by-version."xtend"."4.0.1";
- by-version."xtend"."4.0.1" = self.buildNodePackage {
- name = "xtend-4.0.1";
- version = "4.0.1";
- bin = false;
- src = fetchurl {
- url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
- name = "xtend-4.0.1.tgz";
- sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
- };
- deps = {
- };
- optionalDependencies = {
- };
- peerDependencies = [];
- os = [ ];
- cpu = [ ];
- };
-}
diff --git a/krebs/5pkgs/simple/newsbot-js/pkgs.json b/krebs/5pkgs/simple/newsbot-js/pkgs.json
new file mode 100644
index 000000000..95b60854d
--- /dev/null
+++ b/krebs/5pkgs/simple/newsbot-js/pkgs.json
@@ -0,0 +1,7 @@
+[
+ "feedparser",
+ "form-data",
+ "irc",
+ "request",
+ "shell-quote"
+]
diff --git a/krebs/5pkgs/simple/newsbot-js/update.sh b/krebs/5pkgs/simple/newsbot-js/update.sh
new file mode 100755
index 000000000..0c1ecc58c
--- /dev/null
+++ b/krebs/5pkgs/simple/newsbot-js/update.sh
@@ -0,0 +1,2 @@
+node2nix -8 -i pkgs.json -c combine.nix
+rm node-env.nix combine.nix
diff --git a/krebs/5pkgs/simple/stockholm/default.nix b/krebs/5pkgs/simple/stockholm/default.nix
index 4d15e7ac2..9afe79510 100644
--- a/krebs/5pkgs/simple/stockholm/default.nix
+++ b/krebs/5pkgs/simple/stockholm/default.nix
@@ -9,7 +9,6 @@
#
cmds.deploy = pkgs.withGetopt {
- diff = { default = /* sh */ "false"; switch = true; };
force-populate = { default = /* sh */ "false"; switch = true; };
quiet = { default = /* sh */ "false"; switch = true; };
source_file = {
@@ -25,65 +24,6 @@
. ${init.env}
. ${init.proxy "deploy" opts}
- if \test ${opts.diff.ref} = true; then
-
- system_profile=/nix/var/nix/profiles/system
- system_drv_cur=/etc/system.drv
-
- system_drv_new=$(
- ${pkgs.nix}/bin/nix-instantiate \
- -Q \
- -I "$target_path" \
- -E '
- (import <nixpkgs/nixos/lib/eval-config.nix> {
- modules = [ <nixos-config> ];
- }).config.system.build.toplevel
- '
- )
-
- if \test -e "$system_drv_cur"; then
-
- system_drv_cur_c=$(${pkgs.coreutils}/bin/readlink -f "$system_drv_cur")
- system_drv_new_c=$(${pkgs.coreutils}/bin/readlink -f "$system_drv_new")
-
- if \test "$system_drv_cur_c" = "$system_drv_new_c"; then
- echo "$0: system up to date" >&2
- exit 0
- fi
-
- system_drv_cur=$system_drv_cur_c \
- system_drv_new=$system_drv_new_c \
- ${pkgs.utillinux}/bin/script \
- --command '
- ${pkgs.haskellPackages.nix-diff}/bin/nix-diff \
- "$system_drv_cur" "$system_drv_new"
- ' \
- --quiet \
- --return \
- /dev/null
-
- printf 'deploy? [N/y] ' >&2
- read -r REPLY
- if \test "$REPLY" != y; then
- echo "$0: abort!" >&2
- exit 1
- fi
- else
- echo "$0: --${opts.diff.long} has no effect because "$system_drv_cur" doesn't exist" >&2
- fi
-
- new_system=$(${pkgs.nix}/bin/nix-store --realize "$system_drv_new")
-
- ${pkgs.nix}/bin/nix-env -p "$system_profile" --set "$new_system"
- PATH=${lib.makeBinPath [
- pkgs.systemd
- ]} \
- "$system_profile"/bin/switch-to-configuration switch
-
- ${pkgs.coreutils}/bin/ln -fns "$system_drv_new" "$system_drv_cur"
- exit
- fi
-
# Use system's nixos-rebuild, which is not self-contained
export PATH=/run/current-system/sw/bin
exec ${utils.with-whatsupnix} \
diff --git a/krebs/5pkgs/simple/zandronum-bin/default.nix b/krebs/5pkgs/simple/zandronum-bin/default.nix
deleted file mode 100644
index e97f46add..000000000
--- a/krebs/5pkgs/simple/zandronum-bin/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv
-, atk
-, bzip2
-, cairo
-, fetchurl
-, fluidsynth
-, fontconfig
-, freetype
-, gdk_pixbuf
-, glib
-, gtk2
-, libjpeg_turbo
-, mesa_glu
-, mesa_noglu
-, openssl
-, pango
-, SDL
-, zlib
-, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
- name = "zandronum-3.0";
-
- src = fetchurl {
- url = "http://zandronum.com/downloads/testing/3.0/ZandroDev3.0-170205-2117linux-x86_64.tar.bz2";
- sha256 = "17vrzk0m5b17sp3sqcg57r7812ma97lp3qxn9hmd39fwl1z40fz3";
- };
-
- libPath = stdenv.lib.makeLibraryPath [
- atk
- bzip2
- cairo
- fluidsynth
- fontconfig
- freetype
- gdk_pixbuf
- glib
- gtk2
- libjpeg_turbo
- mesa_glu
- mesa_noglu
- openssl
- pango
- SDL
- stdenv.cc.cc
- zlib
- ];
-
- nativeBuildInputs = [ makeWrapper ];
-
- phases = [ "unpackPhase" "installPhase" ];
-
- sourceRoot = ".";
-
- installPhase = ''
- mkdir -p $out/bin
- mkdir -p $out/share/zandronum
- cp *.so *.pk3 zandronum zandronum-server $out/share/zandronum
-
- patchelf \
- --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
- --set-rpath $libPath:$out/share/zandronum \
- $out/share/zandronum/zandronum
- patchelf \
- --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
- --set-rpath $libPath \
- $out/share/zandronum/zandronum-server
-
- # If we don't set absolute argv0, zandronum.wad file is not found.
- makeWrapper $out/share/zandronum/zandronum $out/bin/zandronum
- makeWrapper $out/share/zandronum/zandronum-server $out/bin/zandronum-server
- '';
-
- meta = {
- homepage = http://zandronum.com/;
- description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. Binary version for online play";
- maintainers = [ stdenv.lib.maintainers.lassulus ];
- # Binary version has different version string than source code version.
- license = stdenv.lib.licenses.unfreeRedistributable;
- platforms = [ "x86_64-linux" ];
- };
-}
diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix
index a48fc0f87..1939bf854 100644
--- a/krebs/5pkgs/writers.nix
+++ b/krebs/5pkgs/writers.nix
@@ -57,7 +57,8 @@ with import <stockholm/lib>;
passAsFile = [ "text" ];
} /* sh */ ''
PATH=${makeBinPath (with pkgs; [
- binutils
+ # TODO remove if everyone migrated to 18.03
+ (if hasAttr "binutils-unwrapped" pkgs then binutils-unwrapped else binutils)
coreutils
gcc
])}
diff --git a/krebs/kops.nix b/krebs/kops.nix
new file mode 100644
index 000000000..f544b93d2
--- /dev/null
+++ b/krebs/kops.nix
@@ -0,0 +1,64 @@
+{ name }: rec {
+
+ kops = (import <nixpkgs> {}).fetchgit {
+ url = https://cgit.krebsco.de/kops/;
+ rev = "e89cf20d4310070a877c2e24a287659546b561c9";
+ sha256 = "0wg8d80sxa46z4i7ir79sci2hwmv3qskzqdg0si64p6vazy8vckb";
+ };
+
+ lib = import "${kops}/lib";
+
+ # TODO document why pkgs should be used like this
+ pkgs = import "${kops}/pkgs" {};
+
+ krebs-source = {
+ nixpkgs.git = {
+ ref = "4b4bbce199d3b3a8001ee93495604289b01aaad3";
+ url = https://github.com/NixOS/nixpkgs;
+ };
+ stockholm.file = toString ../.;
+ stockholm-version.pipe = toString (pkgs.writeDash "${name}-version" ''
+ set -efu
+ cd $HOME/stockholm
+ V=$(${pkgs.coreutils}/bin/date +%y.%m)
+ if test -d .git; then
+ V=$V.git.$(${pkgs.git}/bin/git describe --always --dirty)
+ case $V in (*-dirty)
+ V=$V@''${HOSTNAME-$(${pkgs.nettools}/bin/hostname)}
+ esac
+ fi
+ printf %s "$V"
+ '');
+ };
+
+ source ={ test }: lib.evalSource [
+ krebs-source
+ {
+ nixos-config.symlink = "stockholm/krebs/1systems/${name}/config.nix";
+ secrets =
+ if test
+ then {
+ file = toString <stockholm/krebs/6tests/data/secrets>;
+ }
+ else {
+ pass = {
+ dir = "${lib.getEnv "HOME"}/brain";
+ name = "krebs-secrets/${name}";
+ };
+ }
+ ;
+ }
+ ];
+
+ # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A deploy)
+ deploy = pkgs.kops.writeDeploy "${name}-deploy" {
+ source = source { test = false; };
+ target = "root@${name}/var/src";
+ };
+
+ # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A test)
+ test = pkgs.kops.writeTest "${name}-test" {
+ source = source { test = true; };
+ target = "${lib.getEnv "HOME"}/tmp/${name}-kops-test-src";
+ };
+}
diff --git a/krebs/source.nix b/krebs/source.nix
index 733601a21..3ee12b37f 100644
--- a/krebs/source.nix
+++ b/krebs/source.nix
@@ -22,10 +22,7 @@ in
};
stockholm.file = toString <stockholm>;
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
- nixpkgs.git = {
- url = https://github.com/NixOS/nixpkgs;
- ref = "c665fcca9e7be8cd06c1f3c5bbe2b00d4c8f2a92"; # nixos-17.09 @ 2018-03-18
- };
+ nixpkgs = (import ./kops.nix { name = ""; }).krebs-source.nixpkgs;
}
override
]
diff --git a/lass/1systems/mors/config.nix b/lass/1systems/mors/config.nix
index f77bc64c2..cd259d0fe 100644
--- a/lass/1systems/mors/config.nix
+++ b/lass/1systems/mors/config.nix
@@ -140,6 +140,7 @@ with import <stockholm/lib>;
dpass
dnsutils
+ generate-secrets
];
#TODO: fix this shit
@@ -167,14 +168,8 @@ with import <stockholm/lib>;
environment.shellAliases = {
deploy = pkgs.writeDash "deploy" ''
set -eu
- export PATH=${makeBinPath [
- pkgs.bash
- pkgs.coreutils
- pkgs.nixUnstable
- ]}
- cd ~/stockholm
export SYSTEM="$1"
- exec nix-shell -I stockholm="$PWD" --run 'deploy --system="$SYSTEM"'
+ $(nix-build $HOME/stockholm/lass/kops.nix --no-out-link --argstr name "$SYSTEM" -A deploy)
'';
};
diff --git a/lass/2configs/browsers.nix b/lass/2configs/browsers.nix
index cbbd54b6b..3030d8faf 100644
--- a/lass/2configs/browsers.nix
+++ b/lass/2configs/browsers.nix
@@ -21,59 +21,37 @@ let
$BIN "$@"
'';
- createChromiumUser = name: extraGroups: precedence:
- let
- bin = pkgs.writeScriptBin name ''
- /var/run/wrappers/bin/sudo -u ${name} -i ${pkgs.chromium}/bin/chromium $@
- '';
- in {
- users.extraUsers.${name} = {
- inherit name;
- inherit extraGroups;
- home = "/home/${name}";
- uid = genid name;
- useDefaultShell = true;
- createHome = true;
- };
- lass.browser.paths.${name} = {
- path = bin;
- inherit precedence;
+ createUser = script: name: groups: precedence: dpi:
+ {
+ lass.xjail.${name} = {
+ inherit script groups dpi;
};
- security.sudo.extraConfig = ''
- ${mainUser.name} ALL=(${name}) NOPASSWD: ALL
- '';
environment.systemPackages = [
- bin
+ config.lass.xjail-bins.${name}
+ (pkgs.writeDashBin "cx-${name}" ''
+ DISPLAY=:${toString (genid_signed name)} ${pkgs.xclip}/bin/xclip -o | DISPLAY=:0 ${pkgs.xclip}/bin/xclip
+ '')
];
- };
-
- createFirefoxUser = name: extraGroups: precedence:
- let
- bin = pkgs.writeScriptBin name ''
- /var/run/wrappers/bin/sudo -u ${name} -i ${pkgs.firefox-devedition-bin}/bin/firefox-devedition $@
- '';
- in {
- users.extraUsers.${name} = {
- inherit name;
- inherit extraGroups;
- home = "/home/${name}";
- uid = genid name;
- useDefaultShell = true;
- createHome = true;
- };
lass.browser.paths.${name} = {
- path = bin;
+ path = config.lass.xjail-bins.${name};
inherit precedence;
};
- security.sudo.extraConfig = ''
- ${mainUser.name} ALL=(${name}) NOPASSWD: ALL
- '';
- environment.systemPackages = [
- bin
- ];
};
- #TODO: abstract this
+ createChromiumUser = name: groups: precedence:
+ createUser (pkgs.writeDash name ''
+ ${pkgs.chromium}/bin/chromium "$@"
+ '') name groups precedence 80;
+
+ createFirefoxUser = name: groups: precedence:
+ createUser (pkgs.writeDash name ''
+ ${pkgs.firefox-devedition-bin}/bin/firefox-devedition "$@"
+ '') name groups precedence 80;
+
+ createQuteUser = name: groups: precedence:
+ createUser (pkgs.writeDash name ''
+ ${pkgs.qutebrowser}/bin/qutebrowser "$@"
+ '') name groups precedence 60;
in {
@@ -110,12 +88,13 @@ in {
}));
};
}
+ ( createQuteUser "qb" [ "audio" ] 20 )
( createFirefoxUser "ff" [ "audio" ] 10 )
- ( createChromiumUser "cr" [ "video" "audio" ] 9 )
+ ( createChromiumUser "cr" [ "audio" ] 9 )
( createChromiumUser "gm" [ "video" "audio" ] 8 )
- ( createChromiumUser "wk" [ "video" "audio" ] 0 )
- ( createChromiumUser "fb" [ "video" "audio" ] 0 )
- ( createChromiumUser "com" [ "video" "audio" ] 0 )
+ ( createChromiumUser "wk" [ "audio" ] 0 )
+ ( createChromiumUser "fb" [ "audio" ] 0 )
+ ( createChromiumUser "com" [ "audio" ] 0 )
( createChromiumUser "fin" [] (-1) )
];
}
diff --git a/lass/2configs/games.nix b/lass/2configs/games.nix
index 50362cda4..3ee3a98a5 100644
--- a/lass/2configs/games.nix
+++ b/lass/2configs/games.nix
@@ -3,7 +3,7 @@
let
mainUser = config.users.extraUsers.mainUser;
vdoom = pkgs.writeDash "vdoom" ''
- ${pkgs.zandronum-bin}/bin/zandronum \
+ ${pkgs.zandronum}/bin/zandronum \
-fov 120 \
"$@"
'';
@@ -50,7 +50,7 @@ let
vdoomserver = pkgs.writeDashBin "vdoomserver" ''
DOOM_DIR=''${DOOM_DIR:-~/doom/}
- ${pkgs.zandronum-bin}/bin/zandronum-server \
+ ${pkgs.zandronum}/bin/zandronum-server \
+exec ${doomservercfg} \
"$@"
'';
diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix
index b9682c5ee..81db59617 100644
--- a/lass/2configs/mail.nix
+++ b/lass/2configs/mail.nix
@@ -75,7 +75,7 @@ let
muttrc = pkgs.writeText "muttrc" ''
# gpg
- source ${pkgs.neomutt}/share/doc/mutt/samples/gpg.rc
+ source ${pkgs.neomutt}/share/doc/neomutt/samples/gpg.rc
set pgp_use_gpg_agent = yes
set pgp_sign_as = 0xDC2A43EF4F11E854B44D599A89E82952976A7E4D
set crypt_autosign = yes
@@ -195,7 +195,7 @@ let
name = "mutt";
paths = [
(pkgs.writeDashBin "mutt" ''
- exec ${pkgs.neomutt}/bin/mutt -F ${muttrc} $@
+ exec ${pkgs.neomutt}/bin/neomutt -F ${muttrc} $@
'')
pkgs.neomutt
];
diff --git a/lass/2configs/network-manager.nix b/lass/2configs/network-manager.nix
index c4f757de1..5b890b591 100644
--- a/lass/2configs/network-manager.nix
+++ b/lass/2configs/network-manager.nix
@@ -14,7 +14,13 @@
RestartSec = "5";
};
};
- networking.networkmanager.enable = true;
+ networking.networkmanager = {
+ enable = true;
+ unmanaged = [
+ "docker*"
+ "vboxnet*"
+ ];
+ };
users.users.mainUser = {
extraGroups = [ "networkmanager" ];
packages = with pkgs; [
diff --git a/lass/2configs/privoxy.nix b/lass/2configs/privoxy.nix
index 33e8d1e46..e0a086421 100644
--- a/lass/2configs/privoxy.nix
+++ b/lass/2configs/privoxy.nix
@@ -3,10 +3,5 @@
{
services.privoxy = {
enable = true;
- extraConfig = ''
- #use polipo
- forward / localhost:8123
- '';
};
- services.polipo.enable = true;
}
diff --git a/lass/2configs/reaktor-coders.nix b/lass/2configs/reaktor-coders.nix
index 2541df3a6..5fa1611ae 100644
--- a/lass/2configs/reaktor-coders.nix
+++ b/lass/2configs/reaktor-coders.nix
@@ -84,7 +84,7 @@ with import <stockholm/lib>;
(buildSimpleReaktorPlugin "ping" {
pattern = "^!ping (?P<args>.*)$$";
script = pkgs.writeDash "ping" ''
- exec /var/setuid-wrappers/ping -q -c1 "$1" 2>&1 | tail -1
+ exec /run/wrappers/bin/ping -q -c1 "$1" 2>&1 | tail -1
'';
})
];
diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix
index 98dbdc227..ad44c67e1 100644
--- a/lass/2configs/repo-sync.nix
+++ b/lass/2configs/repo-sync.nix
@@ -61,6 +61,21 @@ let
origin.url = "http://cgit.lassul.us/${name}";
mirror.url = "${mirror}${name}";
};
+ makefu-staging = {
+ origin.url = "http://cgit.gum/${name}";
+ origin.ref = "heads/staging";
+ mirror.url = "${mirror}${name}";
+ };
+ tv-staging = {
+ origin.url = "http://cgit.ni.r/${name}";
+ origin.ref = "heads/staging";
+ mirror.url = "${mirror}${name}";
+ };
+ nin-staging = {
+ origin.url = "http://cgit.onondaga.r/${name}";
+ origin.ref = "heads/staging";
+ mirror.url = "${mirror}${name}";
+ };
};
latest = {
url = "${mirror}${name}";
diff --git a/lass/2configs/virtualbox.nix b/lass/2configs/virtualbox.nix
index f7d196057..8171def2d 100644
--- a/lass/2configs/virtualbox.nix
+++ b/lass/2configs/virtualbox.nix
@@ -6,6 +6,8 @@ let
in {
#services.virtualboxHost.enable = true;
virtualisation.virtualbox.host.enable = true;
+ nixpkgs.config.virtualbox.enableExtensionPack = true;
+ virtualisation.virtualbox.host.enableHardening = false;
users.extraUsers = {
virtual = {
diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix
index fd77b2262..0c10e1ec2 100644
--- a/lass/3modules/default.nix
+++ b/lass/3modules/default.nix
@@ -11,6 +11,7 @@ _:
./screenlock.nix
./umts.nix
./usershadow.nix
+ ./xjail.nix
./xserver
];
}
diff --git a/lass/3modules/xjail.nix b/lass/3modules/xjail.nix
new file mode 100644
index 000000000..325ebcc99
--- /dev/null
+++ b/lass/3modules/xjail.nix
@@ -0,0 +1,164 @@
+{ config, pkgs, lib, ... }:
+
+with import <stockholm/lib>;
+{
+ options.lass.xjail = mkOption {
+ type = types.attrsOf (types.submodule ({ config, ...}: {
+ options = {
+ name = mkOption {
+ type = types.string;
+ default = config._module.args.name;
+ };
+ user = mkOption {
+ type = types.string;
+ default = config.name;
+ };
+ groups = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ };
+ from = mkOption {
+ type = types.string;
+ default = "lass";
+ };
+ display = mkOption {
+ type = types.string;
+ default = toString (genid_signed config._module.args.name);
+ };
+ dpi = mkOption {
+ type = types.int;
+ default = 90;
+ };
+ extraXephyrArgs = mkOption {
+ type = types.str;
+ default = "";
+ };
+ extraVglrunArgs = mkOption {
+ type = types.str;
+ default = "";
+ };
+ script = mkOption {
+ type = types.path;
+ default = pkgs.writeScript "echo_lol" "echo lol";
+ };
+ wm = mkOption {
+ #TODO find type
+ type = types.string;
+ default = "${pkgs.writeHaskell "xephyrify-xmonad" {
+ executables.xmonad = {
+ extra-depends = [
+ "containers"
+ "unix"
+ "xmonad"
+ ];
+ text = /* haskell */ ''
+ module Main where
+ import XMonad
+ import Data.Monoid
+ import System.Posix.Process (executeFile)
+ import qualified Data.Map as Map
+
+ main :: IO ()
+ main = do
+ xmonad def
+ { workspaces = [ "1" ]
+ , layoutHook = myLayoutHook
+ , keys = myKeys
+ , normalBorderColor = "#000000"
+ , focusedBorderColor = "#000000"
+ , handleEventHook = myEventHook
+ }
+
+ myEventHook :: Event -> X All
+
+ myEventHook (ConfigureEvent { ev_event_type = 22 }) = do
+ spawn "${pkgs.xorg.xrandr}/bin/xrandr >/dev/null 2>&1"
+ return (All True)
+
+ myEventHook _ = do
+ return (All True)
+
+ myLayoutHook = Full
+ myKeys _ = Map.fromList []
+ '';
+ };
+ }}/bin/xmonad";
+ };
+ };
+ }));
+ default = {};
+ };
+
+ options.lass.xjail-bins = mkOption {
+ type = types.attrsOf types.path;
+ };
+
+ # implementation
+ config = let
+ scripts = mapAttrs' (name: cfg:
+ let
+ newOrExisting = pkgs.writeDash "${cfg.name}-existing" ''
+ DISPLAY=:${cfg.display} ${pkgs.xorg.xrandr}/bin/xrandr
+ if test $? -eq 0; then
+ echo using existing xephyr
+ ${sudo_} "$@"
+ else
+ echo starting new xephyr
+ ${xephyr_} "$@"
+ fi
+ '';
+ xephyr_ = pkgs.writeDash "${cfg.name}-xephyr" ''
+ ${pkgs.xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable -nolisten local -dpi ${toString cfg.dpi} ${cfg.extraXephyrArgs} :${cfg.display} &
+ XEPHYR_PID=$!
+ DISPLAY=:${cfg.display} ${cfg.wm} &
+ WM_PID=$!
+ ${sudo_} "$@"
+ ${pkgs.coreutils}/bin/kill $WM_PID
+ ${pkgs.coreutils}/bin/kill $XEPHYR_PID
+ '';
+ sudo_ = pkgs.writeDash "${cfg.name}-sudo" ''
+ /var/run/wrappers/bin/sudo -u ${cfg.name} -i ${vglrun_} "$@"
+ '';
+ vglrun_ = pkgs.writeDash "${cfg.name}-vglrun" ''
+ DISPLAY=:${cfg.display} ${pkgs.virtualgl}/bin/vglrun ${cfg.extraVglrunArgs} ${cfg.script} "$@"
+ '';
+ in nameValuePair name {
+ existing = newOrExisting;
+ xephyr = xephyr_;
+ sudo = sudo_;
+ vglrun = vglrun_;
+ }
+ ) config.lass.xjail;
+ in {
+
+ users.users = mapAttrs' (_: cfg:
+ nameValuePair cfg.name {
+ uid = genid cfg.name;
+ home = "/home/${cfg.name}";
+ useDefaultShell = true;
+ createHome = true;
+ extraGroups = cfg.groups;
+ }
+ ) config.lass.xjail;
+
+ users.groups = mapAttrs' (_: cfg:
+ nameValuePair cfg.name {
+ members = [
+ cfg.name
+ cfg.from
+ ];
+ }
+ ) config.lass.xjail;
+
+ security.sudo.extraConfig = (concatStringsSep "\n" (mapAttrsToList (_: cfg:
+ # TODO allow just the right script with sudo
+ "${cfg.from} ALL=(${cfg.name}) NOPASSWD: ALL"
+ ) config.lass.xjail));
+
+ lass.xjail-bins = mapAttrs' (name: cfg:
+ nameValuePair name (pkgs.writeScriptBin cfg.name ''
+ ${scripts.${name}.existing} "$@"
+ '')
+ ) config.lass.xjail;
+ };
+}
diff --git a/lass/5pkgs/custom/xmonad-lass/default.nix b/lass/5pkgs/custom/xmonad-lass/default.nix
index e658897da..18cb25b5b 100644
--- a/lass/5pkgs/custom/xmonad-lass/default.nix
+++ b/lass/5pkgs/custom/xmonad-lass/default.nix
@@ -147,6 +147,10 @@ myKeyMap =
export PATH=$PATH:${pkgs.dmenu}/bin:${pkgs.networkmanagerapplet}/bin
exec ${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu "$@"
''}")
+ , ("M4-<Insert>", spawn "${pkgs.writeDash "paste" ''
+ ${pkgs.coreutils}/bin/sleep 0.1
+ ${pkgs.xclip}/bin/xclip -o | ${pkgs.xdotool}/bin/xdotool type -f -
+ ''}")
, ("M4-<F5>", spawn "${pkgs.xorg.xbacklight}/bin/xbacklight -set 1")
, ("M4-<F6>", spawn "${pkgs.xorg.xbacklight}/bin/xbacklight -set 10")
diff --git a/lass/5pkgs/default.nix b/lass/5pkgs/default.nix
index 28482eb91..fd6a555d4 100644
--- a/lass/5pkgs/default.nix
+++ b/lass/5pkgs/default.nix
@@ -31,7 +31,6 @@ in {
fi
${self.coreutils}/bin/rm $tmp
'';
- rtl8814au = callPackage ./custom/rtl8814au { kernel = self.linux; };
}
// mapAttrs (_: flip callPackage {})
diff --git a/lass/5pkgs/generate-secrets/default.nix b/lass/5pkgs/generate-secrets/default.nix
new file mode 100644
index 000000000..5a4afe7c5
--- /dev/null
+++ b/lass/5pkgs/generate-secrets/default.nix
@@ -0,0 +1,46 @@
+{ pkgs }:
+pkgs.writeDashBin "generate-secrets" ''
+ HOSTNAME="$1"
+ TMPDIR=$(${pkgs.coreutils}/bin/mktemp -d)
+ PASSWORD=$(${pkgs.pwgen}/bin/pwgen 25 1)
+ HASHED_PASSWORD=$(echo $PASSWORD | ${pkgs.hashPassword}/bin/hashPassword -s) > /dev/null
+
+ ${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f $TMPDIR/ssh.id_ed25519 -P "" -C "" >/dev/null
+ ${pkgs.openssl}/bin/openssl genrsa -out $TMPDIR/retiolum.rsa_key.priv 4096 2>/dev/null > /dev/null
+ ${pkgs.openssl}/bin/openssl rsa -in $TMPDIR/retiolum.rsa_key.priv -pubout -out $TMPDIR/retiolum.rsa_key.pub 2>/dev/null > /dev/null
+ cat <<EOF > $TMPDIR/hashedPasswords.nix
+ {
+ root = "$HASHED_PASSWORD";
+ mainUser = "$HASHED_PASSWORD";
+ }
+ EOF
+
+ cd $TMPDIR
+ for x in *; do
+ ${pkgs.coreutils}/bin/cat $x | ${pkgs.pass}/bin/pass insert -m hosts/$HOSTNAME/$x > /dev/null
+ done
+ echo $PASSWORD | ${pkgs.pass}/bin/pass insert -m admin/hosts/$HOSTNAME/pass > /dev/null
+
+ cat <<EOF
+ $HOSTNAME = {
+ cores = 1;
+ nets = {
+ retiolum = {
+ ip4.addr = "10.243.0.changeme";
+ ip6.addr = "42:0:0:0:0:0:0:changeme";
+ aliases = [
+ "$HOSTNAME.r"
+ ];
+ tinc.pubkey = ${"''"}
+ $(cat $TMPDIR/retiolum.rsa_key.pub)
+ ${"''"};
+ };
+ };
+ ssh.privkey.path = <secrets/ssh.id_ed25519>;
+ ssh.pubkey = "$(cat $TMPDIR/ssh.id_ed25519.pub)";
+ };
+ EOF
+
+ rm -rf $TMPDIR
+''
+
diff --git a/lass/5pkgs/xephyrify/default.nix b/lass/5pkgs/xephyrify/default.nix
index 8b18ea949..8d6036843 100644
--- a/lass/5pkgs/xephyrify/default.nix
+++ b/lass/5pkgs/xephyrify/default.nix
@@ -2,15 +2,18 @@
let
- minimalXmonad = writeHaskell "minimalXmonad" {
+ xephyrify-xmonad = writeHaskell "xephyrify-xmonad" {
executables.xmonad = {
extra-depends = [
"containers"
+ "unix"
"xmonad"
];
text = /* haskell */ ''
module Main where
import XMonad
+ import Data.Monoid
+ import System.Posix.Process (executeFile)
import qualified Data.Map as Map
main :: IO ()
@@ -21,8 +24,18 @@ let
, keys = myKeys
, normalBorderColor = "#000000"
, focusedBorderColor = "#000000"
+ , handleEventHook = myEventHook
}
+ myEventHook :: Event -> X All
+
+ myEventHook (ConfigureEvent { ev_event_type = 22 }) = do
+ spawn "${xorg.xrandr}/bin/xrandr >/dev/null 2>&1"
+ return (All True)
+
+ myEventHook _ = do
+ return (All True)
+
myLayoutHook = Full
myKeys _ = Map.fromList []
'';
@@ -30,13 +43,20 @@ let
};
in writeDashBin "xephyrify" ''
- NDISPLAY=:$(${coreutils}/bin/shuf -i 100-65536 -n 1)
+ NDISPLAY=''${NDISPLAY:-$(${coreutils}/bin/shuf -i 100-65536 -n 1)}
echo "using DISPLAY $NDISPLAY"
- ${xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable $NDISPLAY &
+ ${xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable -dpi 60 -nolisten local :$NDISPLAY &
+ if test -n $DROP_TO_USER; then
+ sleep 1
+ ls /tmp/.X11-unix/
+ id
+ ${coreutils}/bin/chgrp "$DROP_TO_USER" "/tmp/.X11-unix/X$NDISPLAY"
+ ${coreutils}/bin/chmod 770 "/tmp/.X11-unix/X$NDISPLAY"
+ fi
XEPHYR_PID=$!
- DISPLAY=$NDISPLAY ${minimalXmonad}/bin/xmonad &
+ DISPLAY=:$NDISPLAY ${xephyrify-xmonad}/bin/xmonad &
XMONAD_PID=$!
- DISPLAY=$NDISPLAY ${virtualgl}/bin/vglrun "$@"
+ DISPLAY=:$NDISPLAY ${virtualgl}/bin/vglrun "$@"
kill $XMONAD_PID
kill $XEPHYR_PID
''
diff --git a/lass/kops.nix b/lass/kops.nix
new file mode 100644
index 000000000..9d0ab911a
--- /dev/null
+++ b/lass/kops.nix
@@ -0,0 +1,35 @@
+{ name }: let
+ inherit (import ../krebs/kops.nix { inherit name; })
+ krebs-source
+ lib
+ pkgs
+ ;
+
+ source = { test }: lib.evalSource [
+ krebs-source
+ {
+ nixos-config.symlink = "stockholm/lass/1systems/${name}/config.nix";
+ secrets = if test then {
+ file = "/home/lass/stockholm/lass/2configs/tests/dummy-secrets";
+ } else {
+ pass = {
+ dir = "${lib.getEnv "HOME"}/.password-store";
+ name = "hosts/${name}";
+ };
+ };
+ }
+ ];
+
+in {
+ # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A deploy)
+ deploy = pkgs.kops.writeDeploy "${name}-deploy" {
+ source = source { test = false; };
+ target = "root@${name}/var/src";
+ };
+
+ # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A test)
+ test = pkgs.kops.writeTest "${name}-test" {
+ source = source { test = true; };
+ target = "${lib.getEnv "HOME"}/tmp/${name}-kops-test-src";
+ };
+}
diff --git a/makefu/1systems/drop/source.nix b/makefu/1systems/drop/source.nix
index 74de846c0..45bd6f97e 100644
--- a/makefu/1systems/drop/source.nix
+++ b/makefu/1systems/drop/source.nix
@@ -1,3 +1,4 @@
import <stockholm/makefu/source.nix> {
name="drop";
+ torrent = true;
}
diff --git a/makefu/1systems/fileleech/source.nix b/makefu/1systems/fileleech/source.nix
index 699267e21..caca1fbcb 100644
--- a/makefu/1systems/fileleech/source.nix
+++ b/makefu/1systems/fileleech/source.nix
@@ -1,3 +1,4 @@
import <stockholm/makefu/source.nix> {
- name="fileleech";
+ name = "fileleech";
+ torrent = true;
}
diff --git a/makefu/1systems/gum/config.nix b/makefu/1systems/gum/config.nix
index b859efc94..40fa233d3 100644
--- a/makefu/1systems/gum/config.nix
+++ b/makefu/1systems/gum/config.nix
@@ -52,7 +52,7 @@ in {
# network
<stockholm/makefu/2configs/vpn/openvpn-server.nix>
- <stockholm/makefu/2configs/vpn/vpnws/server.nix>
+ # <stockholm/makefu/2configs/vpn/vpnws/server.nix>
<stockholm/makefu/2configs/dnscrypt/server.nix>
<stockholm/makefu/2configs/iodined.nix>
diff --git a/makefu/1systems/omo/config.nix b/makefu/1systems/omo/config.nix
index 01438397e..bed6ae9fd 100644
--- a/makefu/1systems/omo/config.nix
+++ b/makefu/1systems/omo/config.nix
@@ -9,7 +9,7 @@ let
keyFile = byid "usb-Verbatim_STORE_N_GO_070B3CEE0B223954-0:0";
rootDisk = byid "ata-SanDisk_SD8SNAT128G1122_162099420904";
rootPartition = byid "ata-SanDisk_SD8SNAT128G1122_162099420904-part2";
- primaryInterface = "enp1s0";
+ primaryInterface = "enp2s0";
# cryptsetup luksFormat $dev --cipher aes-xts-plain64 -s 512 -h sha512
# cryptsetup luksAddKey $dev tmpkey
# cryptsetup luksOpen $dev crypt0 --key-file tmpkey --keyfile-size=4096
@@ -54,6 +54,7 @@ in {
#<stockholm/makefu/2configs/graphite-standalone.nix>
#<stockholm/makefu/2configs/share-user-sftp.nix>
<stockholm/makefu/2configs/share/omo.nix>
+ # <stockholm/makefu/2configs/share/omo-timemachine.nix>
<stockholm/makefu/2configs/tinc/retiolum.nix>
@@ -65,6 +66,7 @@ in {
<stockholm/makefu/2configs/stats/external/aralast.nix>
<stockholm/makefu/2configs/stats/telegraf>
<stockholm/makefu/2configs/stats/telegraf/europastats.nix>
+ <stockholm/makefu/2configs/stats/arafetch.nix>
# services
<stockholm/makefu/2configs/syncthing.nix>
@@ -72,6 +74,11 @@ in {
<stockholm/makefu/2configs/remote-build/slave.nix>
<stockholm/makefu/2configs/deployment/google-muell.nix>
<stockholm/makefu/2configs/virtualisation/docker.nix>
+ <stockholm/makefu/2configs/bluetooth-mpd.nix>
+ {
+ hardware.pulseaudio.systemWide = true;
+ makefu.mpd.musicDirectory = "/media/cryptX/music";
+ }
# security
diff --git a/makefu/1systems/wbob/config.nix b/makefu/1systems/wbob/config.nix
index 637d8e2d8..cfbcf0e9c 100644
--- a/makefu/1systems/wbob/config.nix
+++ b/makefu/1systems/wbob/config.nix
@@ -32,66 +32,7 @@ in {
<stockholm/makefu/2configs/hydra/stockholm.nix>
<stockholm/makefu/2configs/share/wbob.nix>
- (let
- musicDirectory = "/data/music";
- in {
- services.mpd = {
- enable = true;
- inherit musicDirectory;
- # dataDir = "/home/anders/.mpd";
- network.listenAddress = "any";
- extraConfig = ''
- audio_output {
- type "pulse"
- name "Local MPD"
- server "127.0.0.1"
- }
- '';
- };
- # open because of truestedInterfaces
- # networking.firewall.allowedTCPPorts = [ 6600 4713 ];
- services.samba.shares.music = {
- path = musicDirectory;
- "read only" = "no";
- browseable = "yes";
- "guest ok" = "yes";
- };
-
- sound.enable = true;
- hardware.pulseaudio = {
- enable = true;
- package = pkgs.pulseaudioFull;
- # systemWide = true;
- support32Bit = true;
- zeroconf.discovery.enable = true;
- zeroconf.publish.enable = true;
- tcp = {
- enable = true;
- anonymousClients.allowAll = true;
- anonymousClients.allowedIpRanges = [ "127.0.0.1" "192.168.8.0/24" ];
- };
- configFile = pkgs.writeText "default.pa" ''
- load-module module-udev-detect
- load-module module-bluetooth-policy
- load-module module-bluetooth-discover
- load-module module-native-protocol-unix
- load-module module-always-sink
- load-module module-console-kit
- load-module module-systemd-login
- load-module module-intended-roles
- load-module module-position-event-sounds
- load-module module-filter-heuristics
- load-module module-filter-apply
- load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
- load-module module-switch-on-connect
- # may be required for "system-wide" pulse to connect to bluetooth
- #module-bluez5-device
- #module-bluez5-discover
- '';
- };
- # connect via https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio
- hardware.bluetooth.enable = true;
- })
+ <stockholm/makefu/2configs/bluetooth-mpd.nix>
# Sensors
<stockholm/makefu/2configs/stats/telegraf>
diff --git a/makefu/2configs/bluetooth-mpd.nix b/makefu/2configs/bluetooth-mpd.nix
new file mode 100644
index 000000000..226f5cf1f
--- /dev/null
+++ b/makefu/2configs/bluetooth-mpd.nix
@@ -0,0 +1,68 @@
+{ pkgs, config, lib, ... }:
+
+let
+ cfg = config.makefu.mpd;
+in {
+ options.makefu.mpd.musicDirectory = lib.mkOption {
+ description = "music Directory";
+ default = "/data/music";
+ type = lib.types.str;
+ };
+ config = {
+ services.mpd = {
+ enable = true;
+ inherit (cfg) musicDirectory;
+ network.listenAddress = "0.0.0.0";
+ extraConfig = ''
+ audio_output {
+ type "pulse"
+ name "Local MPD"
+ server "127.0.0.1"
+ }
+ '';
+ };
+ # open because of truestedInterfaces
+ # networking.firewall.allowedTCPPorts = [ 6600 4713 ];
+ services.samba.shares.music = {
+ path = cfg.musicDirectory;
+ "read only" = "no";
+ browseable = "yes";
+ "guest ok" = "yes";
+ };
+
+ sound.enable = true;
+ hardware.pulseaudio = {
+ enable = true;
+ package = pkgs.pulseaudioFull;
+ # systemWide = true;
+ support32Bit = true;
+ zeroconf.discovery.enable = true;
+ zeroconf.publish.enable = true;
+ tcp = {
+ enable = true;
+ # PULSE_SERVER=192.168.1.11 pavucontrol
+ anonymousClients.allowAll = true;
+ };
+ configFile = pkgs.writeText "default.pa" ''
+ load-module module-udev-detect
+ load-module module-bluetooth-policy
+ load-module module-bluetooth-discover
+ load-module module-native-protocol-unix
+ load-module module-always-sink
+ load-module module-console-kit
+ load-module module-systemd-login
+ load-module module-intended-roles
+ load-module module-position-event-sounds
+ load-module module-filter-heuristics
+ load-module module-filter-apply
+ load-module module-switch-on-connect
+ '';
+ };
+ # connect via https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio
+ hardware.bluetooth.enable = true;
+ #hardware.bluetooth.extraConfig = ''
+ # [general]
+ # Enable=Source,Sink,Media,Socket
+ #'';
+ };
+}
diff --git a/makefu/2configs/deployment/photostore.krebsco.de.nix b/makefu/2configs/deployment/photostore.krebsco.de.nix
index ecbca9ea3..19a8df235 100644
--- a/makefu/2configs/deployment/photostore.krebsco.de.nix
+++ b/makefu/2configs/deployment/photostore.krebsco.de.nix
@@ -30,6 +30,7 @@ in {
forceSSL = true;
locations = {
"/".extraConfig = ''
+ expires -1;
uwsgi_pass unix://${wsgi-sock};
uwsgi_param UWSGI_CHDIR ${workdir};
uwsgi_param UWSGI_MODULE cuserver.main;
diff --git a/makefu/2configs/nginx/euer.wiki.nix b/makefu/2configs/nginx/euer.wiki.nix
index 08bc5659f..99533b25c 100644
--- a/makefu/2configs/nginx/euer.wiki.nix
+++ b/makefu/2configs/nginx/euer.wiki.nix
@@ -17,6 +17,7 @@ let
# contains:
# user1 = pass1
# userN = passN
+ # afterwards put /var/www/<ext-dom>/user1.html as tiddlywiki
tw-pass-file = "${sec}/tw-pass.ini";
in {
@@ -45,7 +46,7 @@ in {
systemd.services.prepare-tw = {
wantedBy = [ "local-fs.target" ];
- before = [ "phpfpm.service" ];
+ before = [ "phpfpm.service" "nginx.service" ];
serviceConfig = {
ExecStart = pkgs.writeScript "prepare-tw-service" ''
#!/bin/sh
@@ -92,6 +93,7 @@ in {
locations = {
"/" = {
root = wiki-dir;
+ index = "makefu.html";
extraConfig = ''
expires -1;
autoindex on;
diff --git a/makefu/2configs/stats/arafetch.nix b/makefu/2configs/stats/arafetch.nix
new file mode 100644
index 000000000..e04b12f9c
--- /dev/null
+++ b/makefu/2configs/stats/arafetch.nix
@@ -0,0 +1,36 @@
+{ pkgs, lib, ...}:
+with import <stockholm/lib>;
+let
+ pkg = with pkgs.python3Packages;buildPythonPackage rec {
+ rev = "762d747";
+ name = "europastats-${rev}";
+ propagatedBuildInputs = [
+ requests
+ docopt
+ influxdb
+ beautifulsoup4
+ ];
+ src = pkgs.fetchgit {
+ url = "http://cgit.euer.krebsco.de/arafetch";
+ inherit rev;
+ sha256 = "164xiqbrr914lz0nh3i1dxz8iwg6vm2af3i3803cd3242nznw0ws";
+ };
+ };
+ home = "/var/lib/arafetch";
+in {
+ users.users.arafetch = {
+ uid = genid "arafetch";
+ inherit home;
+ createHome = true;
+ };
+
+ systemd.services.arafetch = {
+ startAt = "Mon 09:15:00";
+ wantedBy = [ "multi-user.target" ];
+ environment = {
+ OUTDIR = home;
+ };
+ path = [ pkg pkgs.git pkgs.wget ];
+ script = "${pkg}/bin/weekrun";
+ };
+}
diff --git a/makefu/6tests/data/secrets/torrent-secrets/auth.nix b/makefu/6tests/data/secrets/torrent-secrets/auth.nix
deleted file mode 100644
index 0967ef424..000000000
--- a/makefu/6tests/data/secrets/torrent-secrets/auth.nix
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/makefu/source.nix b/makefu/source.nix
index 6b32a1b40..d25fe5528 100644
--- a/makefu/source.nix
+++ b/makefu/source.nix
@@ -21,9 +21,9 @@ let
];
};
# TODO: automate updating of this ref + cherry-picks
- ref = "6b6e72b"; # nixos-17.09 @ 2018-03-07
+ ref = "6583793"; # nixos-17.09 @ 2018-03-07
# + do_sqlite3 ruby: 55a952be5b5
- # + signal: 0f19beef3
+ # + signal: 0f19beef3, 50ad913, 9449782, b7046ab2
in
evalSource (toString _file) [
diff --git a/nin/2configs/games.nix b/nin/2configs/games.nix
index a7edae078..15e17238d 100644
--- a/nin/2configs/games.nix
+++ b/nin/2configs/games.nix
@@ -3,7 +3,7 @@
let
mainUser = config.users.extraUsers.mainUser;
vdoom = pkgs.writeDash "vdoom" ''
- ${pkgs.zandronum-bin}/bin/zandronum \
+ ${pkgs.zandronum}/bin/zandronum \
-fov 120 \
"$@"
'';
@@ -50,7 +50,7 @@ let
vdoomserver = pkgs.writeDashBin "vdoomserver" ''
DOOM_DIR=''${DOOM_DIR:-~/doom/}
- ${pkgs.zandronum-bin}/bin/zandronum-server \
+ ${pkgs.zandronum}/bin/zandronum-server \
+exec ${doomservercfg} \
"$@"
'';
diff --git a/tv/2configs/urlwatch.nix b/tv/2configs/urlwatch.nix
index 509257c48..897def8c9 100644
--- a/tv/2configs/urlwatch.nix
+++ b/tv/2configs/urlwatch.nix
@@ -13,11 +13,6 @@ with import <stockholm/lib>;
http://www.exim.org/
- {
- url = https://api.github.com/repos/Gabriel439/nix-diff/git/refs/heads/master;
- filter = "system:${pkgs.jq}/bin/jq -r .object.sha";
- }
-
# ref src/nixpkgs/pkgs/tools/admin/sec/default.nix
{
url = https://api.github.com/repos/simple-evcorr/sec/tags;
diff --git a/tv/2configs/xserver/default.nix b/tv/2configs/xserver/default.nix
index 7ba78b974..6ef8a8768 100644
--- a/tv/2configs/xserver/default.nix
+++ b/tv/2configs/xserver/default.nix
@@ -11,6 +11,7 @@ in {
environment.systemPackages = [
pkgs.ff
+ pkgs.font-size
pkgs.gitAndTools.qgit
pkgs.mpv
pkgs.sxiv
diff --git a/tv/5pkgs/simple/font-size.nix b/tv/5pkgs/simple/font-size.nix
new file mode 100644
index 000000000..21097ed6a
--- /dev/null
+++ b/tv/5pkgs/simple/font-size.nix
@@ -0,0 +1,26 @@
+{ writeDashBin }:
+writeDashBin "font-size" ''
+ set -efu
+
+ # set_font NORMAL_FONT BOLD_FONT
+ set_font() {
+ printf '\033]710;%s\007' "$1"
+ printf '\033]711;%s\007' "$2"
+ }
+
+ case ''${1-} in
+ '''|0|--reset)
+ set_font \
+ -*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1 \
+ -*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1 \
+ ;;
+ [1-9]|[1-9][0-9]|[1-9][0-9][0-9])
+ set_font \
+ xft:Monospace:size=$1 \
+ xft:Monospace:size=$1:bold \
+ ;;
+ *)
+ echo "$0: bad argument: $1" >&2
+ exit 1
+ esac
+''
diff --git a/tv/5pkgs/simple/xmonad-tv/default.nix b/tv/5pkgs/simple/xmonad-tv/default.nix
index 94c70153d..d474b7edd 100644
--- a/tv/5pkgs/simple/xmonad-tv/default.nix
+++ b/tv/5pkgs/simple/xmonad-tv/default.nix
@@ -133,6 +133,8 @@ myKeys conf = Map.fromList $
[ ((_4 , xK_Escape ), forkFile "/run/wrappers/bin/slock" [] Nothing)
, ((_4S , xK_c ), kill)
+ , ((_4 , xK_p ), forkFile "${pkgs.pass}/bin/passmenu" ["--type"] Nothing)
+
, ((_4 , xK_x ), chooseAction spawnTermAt)
, ((_4C , xK_x ), spawnRootTerm)
[cgit] Unable to lock slot /tmp/cgit/5c300000.lock: No such file or directory (2)