summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/Reaktor
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/Reaktor')
-rw-r--r--makefu/2configs/Reaktor/random-issue.sh20
-rw-r--r--makefu/2configs/Reaktor/simpleExtend.nix19
-rw-r--r--makefu/2configs/Reaktor/stockholmLentil.nix22
3 files changed, 61 insertions, 0 deletions
diff --git a/makefu/2configs/Reaktor/random-issue.sh b/makefu/2configs/Reaktor/random-issue.sh
new file mode 100644
index 000000000..5c47c6156
--- /dev/null
+++ b/makefu/2configs/Reaktor/random-issue.sh
@@ -0,0 +1,20 @@
+#! /bin/sh
+set -eu
+# requires env:
+# $state_dir
+# $origin
+
+# in PATH: git,lentil,coreutils
+subdir=`echo "$1" | tr -dc "[:alnum:]"`
+name=`echo "$origin" | tr -dc "[:alnum:]"`
+track="$state_dir/$name-checkout"
+(if test -e "$track" ;then
+ cd "$track"
+ git fetch origin master
+ git reset --hard origin/master
+else
+ git clone "$origin" "$track"
+fi) >&2
+
+cd "$track"
+lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1
diff --git a/makefu/2configs/Reaktor/simpleExtend.nix b/makefu/2configs/Reaktor/simpleExtend.nix
new file mode 100644
index 000000000..95175a4e0
--- /dev/null
+++ b/makefu/2configs/Reaktor/simpleExtend.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+with pkgs;
+let
+ nixos-version-script = pkgs.writeScript "nix-version" ''
+ #! /bin/sh
+ . /etc/os-release
+ echo "$PRETTY_NAME"
+ '';
+in {
+ krebs.Reaktor.extraConfig = ''
+ public_commands.insert(0,{
+ 'capname' : "nixos-version",
+ 'pattern' : indirect_pattern.format("nixos-version"),
+ 'argv' : ["${nixos-version-script}"],
+ 'env' : { 'state_dir': workdir } })
+ '';
+}
+
diff --git a/makefu/2configs/Reaktor/stockholmLentil.nix b/makefu/2configs/Reaktor/stockholmLentil.nix
new file mode 100644
index 000000000..147fb5a7a
--- /dev/null
+++ b/makefu/2configs/Reaktor/stockholmLentil.nix
@@ -0,0 +1,22 @@
+{ config, lib, pkgs, ... }:
+
+with pkgs;
+let
+ random-issue = pkgs.writeScript "random-issue" (builtins.readFile ./random-issue.sh);
+ random-issue-path = lib.makeSearchPath "bin" (with pkgs; [
+ coreutils
+ git
+ gnused
+ lentil]);
+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' : "stockholm-issue",
+ 'pattern' : indirect_pattern.format("stockholm-issue"),
+ 'argv' : ["${random-issue}"],
+ 'env' : { 'state_dir': workdir,
+ 'PATH':'${random-issue-path}',
+ 'origin':'http://cgit.pnp/stockholm' } })
+ '';
+}