From e7779d8016cc06c5b7383e25a2e0608666495ca2 Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Mon, 5 Oct 2015 17:51:14 +0200
Subject: [PATCH 1/3] makefu {1,2} Reaktor: add random-emoji plugin to Reaktor
 to pnp"

---
 makefu/1systems/pnp.nix                  |  1 +
 makefu/2configs/Reaktor/random-emoji.nix | 25 ++++++++++++++++++++++++
 makefu/2configs/Reaktor/random-emoji.sh  |  5 +++++
 3 files changed, 31 insertions(+)
 create mode 100644 makefu/2configs/Reaktor/random-emoji.nix
 create mode 100644 makefu/2configs/Reaktor/random-emoji.sh

diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix
index 7698ea14d..fdc2f0135 100644
--- a/makefu/1systems/pnp.nix
+++ b/makefu/1systems/pnp.nix
@@ -23,6 +23,7 @@
       ## \/ are only plugins, must enable Reaktor explicitly
       ../2configs/Reaktor/stockholmLentil.nix
       ../2configs/Reaktor/simpleExtend.nix
+      ../2configs/Reaktor/random-emoji.nix
       ../2configs/Reaktor/titlebot.nix
 
       ../2configs/exim-retiolum.nix
diff --git a/makefu/2configs/Reaktor/random-emoji.nix b/makefu/2configs/Reaktor/random-emoji.nix
new file mode 100644
index 000000000..b2d99b36b
--- /dev/null
+++ b/makefu/2configs/Reaktor/random-emoji.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with pkgs;
+let
+  rpkg = pkgs.substituteAll( {
+    name="random-emoji";
+    dir= "bin";
+    isExecutable=true;
+    src= ./random-emoji.sh;
+    });
+  rpkg-path = lib.makeSearchPath "bin" (with pkgs; [
+                        coreutils
+                        gnused
+                        gnugrep
+                        curl]);
+in {
+  # TODO: make origin a variable, <- module is generic enough to handle different origins, not only stockholm
+  krebs.Reaktor.extraConfig = ''
+  public_commands.insert(0,{
+    'capname' : "emoji",
+    'pattern' : indirect_pattern.format("emoji"),
+    'argv'    : ["${rpkg}/bin/random-emoji"],
+    'env'     : { 'PATH':'${rpkg-path}' } })
+  '';
+}
diff --git a/makefu/2configs/Reaktor/random-emoji.sh b/makefu/2configs/Reaktor/random-emoji.sh
new file mode 100644
index 000000000..913d615be
--- /dev/null
+++ b/makefu/2configs/Reaktor/random-emoji.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+curl http://emojicons.com/random -s | \
+  grep data-text | \
+  sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \
+  head -n 1

From a986b13d633c872e1586799ea1337f362c562c94 Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Mon, 5 Oct 2015 17:57:00 +0200
Subject: [PATCH 2/3] makefu 2 cgit: primary git server is pnp

---
 makefu/2configs/git/cgit-retiolum.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/makefu/2configs/git/cgit-retiolum.nix b/makefu/2configs/git/cgit-retiolum.nix
index 40b51e601..1277a014e 100644
--- a/makefu/2configs/git/cgit-retiolum.nix
+++ b/makefu/2configs/git/cgit-retiolum.nix
@@ -29,6 +29,7 @@ let
     hooks = {
       post-receive = git.irc-announce {
         nick = config.networking.hostName;
+        verbose = config.krebs.build.host.name == "pnp";
         channel = "#retiolum";
         # TODO remove the hardcoded hostname
         server = "cd.retiolum";

From 973e7adab745c7493c592e6bc0e3f8367b32dfbc Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Tue, 6 Oct 2015 12:15:20 +0200
Subject: [PATCH 3/3] krebs 5 passwdqc-utils: init at 1.3.0

---
 krebs/5pkgs/default.nix                |  1 +
 krebs/5pkgs/passwdqc-utils/default.nix | 27 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 krebs/5pkgs/passwdqc-utils/default.nix

diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix
index 7e136d96f..72c113b90 100644
--- a/krebs/5pkgs/default.nix
+++ b/krebs/5pkgs/default.nix
@@ -22,6 +22,7 @@ rec {
   nq = callPackage ./nq {};
   posix-array = callPackage ./posix-array {};
   pssh = callPackage ./pssh {};
+  passwdqc-utils = callPackage ./passwdqc-utils {};
   Reaktor = callPackage ./Reaktor {};
   youtube-tools = callPackage ./youtube-tools {};
 
diff --git a/krebs/5pkgs/passwdqc-utils/default.nix b/krebs/5pkgs/passwdqc-utils/default.nix
new file mode 100644
index 000000000..0299715ba
--- /dev/null
+++ b/krebs/5pkgs/passwdqc-utils/default.nix
@@ -0,0 +1,27 @@
+{stdenv,pam,fetchurl,...}:
+
+stdenv.mkDerivation rec {
+  name = "passwdqc-utils-${version}";
+  version = "1.3.0";
+  buildInputs = [ pam ];
+  src = fetchurl {
+    url = "http://www.openwall.com/passwdqc/passwdqc-${version}.tar.gz";
+    sha256 = "0l3zbrp4pvah0dz33m48aqlz9nx663cc1fqhnlwr0p853b10la93";
+  };
+  buildTargets = "utils";
+  installFlags= [ "BINDIR=$(out)/bin"
+                  "CONFDIR=$(out)/etc"
+                  "SHARED_LIBDIR=$(out)/lib"
+                  "DEVEL_LIBDIR=$(out)/lib"
+                  "SECUREDIR=$(out)/lib/security"
+                  "INCLUDEDIR=$(out)/include"
+                  "MANDIR=$(out)/man"];
+  installTargets = "install_lib install_utils";
+
+  meta = {
+    description = "passwdqc utils (pwqgen,pwqcheck) and library";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.makefu ];
+    patforms = stdenv.lib.platforms.linux; # more installFlags must be set for Darwin,Solaris
+  };
+}