summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2018-09-26 11:11:06 +0200
committermakefu <github@syntax-fehler.de>2018-09-26 11:11:06 +0200
commitd7ecf1abdcc52e82af8ea17e4fc8d4be8fc41822 (patch)
treead4da7b3071dd6b2c5990a3de3cd380d5052767d
parent7a0d3121be1ae433a612ad77e9bb693a66aed41c (diff)
parenta374a452112ba962ab90e45b6b0f27b3a1330e4f (diff)
Merge remote-tracking branch 'lass/master'
-rw-r--r--krebs/2configs/reaktor-retiolum.nix2
-rw-r--r--krebs/3modules/Reaktor.nix1
-rw-r--r--krebs/3modules/announce-activation.nix2
-rw-r--r--krebs/3modules/buildbot/master.nix1
-rw-r--r--krebs/3modules/buildbot/slave.nix2
-rw-r--r--krebs/3modules/default.nix6
-rw-r--r--krebs/3modules/setuid.nix2
-rw-r--r--krebs/5pkgs/simple/Reaktor/plugins.nix2
-rw-r--r--krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py12
-rw-r--r--krebs/5pkgs/simple/buildbot-classic/default.nix4
-rw-r--r--krebs/5pkgs/simple/krebspaste/default.nix2
-rw-r--r--krebs/krops.nix2
-rw-r--r--krebs/nixpkgs.json6
-rw-r--r--lass/1systems/icarus/config.nix1
-rw-r--r--lass/2configs/radio.nix81
-rw-r--r--lass/2configs/reaktor-coders.nix2
-rw-r--r--lass/2configs/websites/lassulus.nix2
m---------submodules/nix-writers0
-rw-r--r--tv/1systems/mu/config.nix5
19 files changed, 94 insertions, 41 deletions
diff --git a/krebs/2configs/reaktor-retiolum.nix b/krebs/2configs/reaktor-retiolum.nix
index 90573ca1c..824f59d09 100644
--- a/krebs/2configs/reaktor-retiolum.nix
+++ b/krebs/2configs/reaktor-retiolum.nix
@@ -4,7 +4,7 @@ with import <stockholm/lib>;
{
krebs.Reaktor.retiolum = {
nickname = "Reaktor|lass";
- channels = [ "#xxx" ];
+ channels = [ "#noise" "#xxx" ];
extraEnviron = {
REAKTOR_HOST = "irc.r";
};
diff --git a/krebs/3modules/Reaktor.nix b/krebs/3modules/Reaktor.nix
index 99a7a55ef..677b6f7b8 100644
--- a/krebs/3modules/Reaktor.nix
+++ b/krebs/3modules/Reaktor.nix
@@ -122,6 +122,7 @@ let
wantedBy = [ "multi-user.target" ];
environment = {
GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
+ PYTHONPATH = "${pkgs.Reaktor}/lib/python3.6/site-packages";
REAKTOR_NICKNAME = botcfg.nickname;
REAKTOR_DEBUG = (if botcfg.debug then "True" else "False");
REAKTOR_CHANNELS = lib.concatStringsSep "," botcfg.channels;
diff --git a/krebs/3modules/announce-activation.nix b/krebs/3modules/announce-activation.nix
index 8f8440eb7..76eb4b136 100644
--- a/krebs/3modules/announce-activation.nix
+++ b/krebs/3modules/announce-activation.nix
@@ -53,7 +53,7 @@ in {
};
};
config = mkIf cfg.enable {
- system.activationScripts.announce-activation = ''
+ system.activationScripts.announce-activation = stringAfter [ "etc" ] ''
${announce-activation}
'';
};
diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix
index a02f3645d..209dbe980 100644
--- a/krebs/3modules/buildbot/master.nix
+++ b/krebs/3modules/buildbot/master.nix
@@ -82,6 +82,7 @@ let
irc = words.IRC("${cfg.irc.server}", "${cfg.irc.nick}",
channels=${builtins.toJSON cfg.irc.channels},
notify_events={
+ 'started': 1,
'success': 1,
'failure': 1,
'exception': 1,
diff --git a/krebs/3modules/buildbot/slave.nix b/krebs/3modules/buildbot/slave.nix
index fba585448..544f9c4e0 100644
--- a/krebs/3modules/buildbot/slave.nix
+++ b/krebs/3modules/buildbot/slave.nix
@@ -160,8 +160,6 @@ let
# TODO: maybe also prepare buildbot.tac?
ExecStartPre = pkgs.writeDash "buildbot-master-init" ''
set -efux
- #remove garbage from old versions
- rm -rf ${workdir}
mkdir -p ${workdir}/info
cp ${buildbot-slave-init} ${workdir}/buildbot.tac
echo ${contact} > ${workdir}/info/admin
diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix
index 43375ed53..6307649e3 100644
--- a/krebs/3modules/default.nix
+++ b/krebs/3modules/default.nix
@@ -183,6 +183,11 @@ let
to = concatMapStringsSep "," (getAttr "mail") (toList to);
};
in mapAttrsToList format (with config.krebs.users; let
+ brain-ml = [
+ lass
+ makefu
+ tv
+ ];
eloop-ml = spam-ml ++ [ ciko ];
spam-ml = [
lass
@@ -192,6 +197,7 @@ let
ciko.mail = "ciko@slash16.net";
in {
"anmeldung@eloop.org" = eloop-ml;
+ "brain@krebsco.de" = brain-ml;
"cfp@eloop.org" = eloop-ml;
"kontakt@eloop.org" = eloop-ml;
"root@eloop.org" = eloop-ml;
diff --git a/krebs/3modules/setuid.nix b/krebs/3modules/setuid.nix
index 02176ec4a..3ba598a45 100644
--- a/krebs/3modules/setuid.nix
+++ b/krebs/3modules/setuid.nix
@@ -58,7 +58,7 @@ let
};
};
config.activate = let
- src = pkgs.execve config.name {
+ src = pkgs.exec config.name {
inherit (config) envp filename;
};
dst = "${wrapperDir}/${config.name}";
diff --git a/krebs/5pkgs/simple/Reaktor/plugins.nix b/krebs/5pkgs/simple/Reaktor/plugins.nix
index 92a270ef3..6f59ad1de 100644
--- a/krebs/5pkgs/simple/Reaktor/plugins.nix
+++ b/krebs/5pkgs/simple/Reaktor/plugins.nix
@@ -120,7 +120,7 @@ rec {
url-title = (buildSimpleReaktorPlugin "url-title" {
pattern = "^.*(?P<args>http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$";
path = with pkgs; [ curl perl ];
- script = pkgs.writePython3 "url-title" [ "beautifulsoup4" "lxml" ] ''
+ script = pkgs.writePython3 "url-title" { deps = with pkgs.python3Packages; [ beautifulsoup4 lxml ]; } ''
import cgi
import sys
import urllib.request
diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
index 51ac7a071..ecb03917b 100644
--- a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
+++ b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py
@@ -8,9 +8,19 @@ import shelve
from os import environ
from os.path import join
from sys import argv
+from time import sleep
import re
-d = shelve.open(join(environ['state_dir'], 'sed-plugin.shelve'), writeback=True)
+# try to open the shelve file until it succeeds
+while True:
+ try:
+ d = shelve.open(
+ join(environ['state_dir'], 'sed-plugin.shelve'),
+ writeback=True
+ )
+ break
+ except: # noqa: E722
+ sleep(0.2)
usr = environ['_from']
diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix
index 4fae6256d..665b36ab4 100644
--- a/krebs/5pkgs/simple/buildbot-classic/default.nix
+++ b/krebs/5pkgs/simple/buildbot-classic/default.nix
@@ -2,7 +2,7 @@
python2Packages.buildPythonApplication rec {
name = "buildbot-classic-${version}";
- version = "0.8.17";
+ version = "0.8.18";
namePrefix = "";
patches = [];
@@ -10,7 +10,7 @@ python2Packages.buildPythonApplication rec {
owner = "krebs";
repo = "buildbot-classic";
rev = version;
- sha256 = "0yn0n37rs2bhz9q0simnvyzz5sfrpqhbdm6pdj6qk7sab4y6xbq8";
+ sha256 = "0b4y3n9zd2gdy8xwk1vpvs4n9fbg72vi8mx4ydgijwngcmdqkjmq";
};
postUnpack = "sourceRoot=\${sourceRoot}/master";
diff --git a/krebs/5pkgs/simple/krebspaste/default.nix b/krebs/5pkgs/simple/krebspaste/default.nix
index 31ad12780..a11c8c90a 100644
--- a/krebs/5pkgs/simple/krebspaste/default.nix
+++ b/krebs/5pkgs/simple/krebspaste/default.nix
@@ -1,6 +1,6 @@
{ writeDashBin, bepasty-client-cli }:
-# TODO use `execve` instead?
+# TODO use `pkgs.exec` instead?
writeDashBin "krebspaste" ''
exec ${bepasty-client-cli}/bin/bepasty-cli -L 1m --url http://paste.r "$@" | sed '$ s/$/\/+inline/g'
''
diff --git a/krebs/krops.nix b/krebs/krops.nix
index e5013ad08..864cc8066 100644
--- a/krebs/krops.nix
+++ b/krebs/krops.nix
@@ -2,7 +2,7 @@
krops = builtins.fetchGit {
url = https://cgit.krebsco.de/krops/;
- rev = "4e466eaf05861b47365c5ef46a31a188b70f3615";
+ rev = "c46166d407c7d246112f13346621a3fbdb25889e";
};
lib = import "${krops}/lib";
diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json
index a9a0f6634..a3612fa7a 100644
--- a/krebs/nixpkgs.json
+++ b/krebs/nixpkgs.json
@@ -1,7 +1,7 @@
{
"url": "https://github.com/NixOS/nixpkgs-channels",
- "rev": "a37638d46706610d12c9747614fd1b8f8d35ad48",
- "date": "2018-08-30T21:03:26+02:00",
- "sha256": "0rsdkk4z7pkqr2mw0pq7i6fkqs7gbi5kral3c8smm9bw104sn8v7",
+ "rev": "d16a7abceb72aac85e0deb8c45fbcb7127baf628",
+ "date": "2018-09-20T18:31:51-05:00",
+ "sha256": "0byf6rlwwy70v2sdfmv7mnwd0kvxmlq0pi8ijghg0mcfhcqibgh7",
"fetchSubmodules": true
}
diff --git a/lass/1systems/icarus/config.nix b/lass/1systems/icarus/config.nix
index d54bd3e9e..1957c8ba4 100644
--- a/lass/1systems/icarus/config.nix
+++ b/lass/1systems/icarus/config.nix
@@ -16,6 +16,7 @@
<stockholm/lass/2configs/bitcoin.nix>
<stockholm/lass/2configs/backup.nix>
<stockholm/lass/2configs/wine.nix>
+ <stockholm/lass/2configs/blue-host.nix>
];
krebs.build.host = config.krebs.hosts.icarus;
diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix
index a83d51f1d..fb7ae01b6 100644
--- a/lass/2configs/radio.nix
+++ b/lass/2configs/radio.nix
@@ -131,6 +131,30 @@ in {
};
};
+ systemd.services.radio-recent = let
+ recentlyPlayed = pkgs.writeDash "recentlyPlayed" ''
+ LIMIT=1000 #how many tracks to keep in the history
+ HISTORY_FILE=/tmp/played
+ while :; do
+ ${pkgs.mpc_cli}/bin/mpc idle player > /dev/null
+ ${pkgs.mpc_cli}/bin/mpc current -f %file%
+ done | while read track; do
+ echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE"
+ echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE"
+ done
+ '';
+ in {
+ description = "radio recently played";
+ after = [ "mpd.service" "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ restartIfChanged = true;
+
+ serviceConfig = {
+ ExecStart = recentlyPlayed;
+ };
+ };
+
krebs.Reaktor.playlist = {
nickname = "the_playlist|r";
channels = [
@@ -157,27 +181,40 @@ in {
})
];
};
- services.nginx.virtualHosts."lassul.us".locations."/the_playlist".extraConfig = let
- html = pkgs.writeText "index.html" ''
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>lassulus playlist</title>
- </head>
- <body>
- <div style="display:inline-block;margin:0px;padding:0px;overflow:hidden">
- <iframe src="https://kiwiirc.com/client/irc.freenode.org/?nick=kiwi_test|?&theme=cli#the_playlist" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:95%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="95%" width="100%"></iframe>
- </div>
- <div style="position:absolute;bottom:1px;display:inline-block;background-color:red;">
- <audio controls autoplay="autoplay"><source src="http://lassul.us:8000/radio.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
- </div>
- <!-- page content -->
- </body>
- </html>
+ services.nginx = {
+ enable = true;
+ virtualHosts."radio.lassul.us" = {
+ forceSSL = true;
+ enableACME = true;
+ locations."/".extraConfig = ''
+ proxy_pass http://localhost:8000;
+ '';
+ locations."/recent".extraConfig = ''
+ alias /tmp/played;
+ '';
+ };
+ virtualHosts."lassul.us".locations."/the_playlist".extraConfig = let
+ html = pkgs.writeText "index.html" ''
+ <!DOCTYPE html>
+ <html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>lassulus playlist</title>
+ </head>
+ <body>
+ <div style="display:inline-block;margin:0px;padding:0px;overflow:hidden">
+ <iframe src="https://kiwiirc.com/client/irc.freenode.org/?nick=kiwi_test|?&theme=cli#the_playlist" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:95%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="95%" width="100%"></iframe>
+ </div>
+ <div style="position:absolute;bottom:1px;display:inline-block;background-color:red;">
+ <audio controls autoplay="autoplay"><source src="http://lassul.us:8000/radio.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
+ </div>
+ <!-- page content -->
+ </body>
+ </html>
+ '';
+ in ''
+ default_type "text/html";
+ alias ${html};
'';
- in ''
- default_type "text/html";
- alias ${html};
- '';
+ };
}
diff --git a/lass/2configs/reaktor-coders.nix b/lass/2configs/reaktor-coders.nix
index 9365582b8..44d8984d7 100644
--- a/lass/2configs/reaktor-coders.nix
+++ b/lass/2configs/reaktor-coders.nix
@@ -65,7 +65,7 @@ with import <stockholm/lib>;
})
(buildSimpleReaktorPlugin "random-unicorn-porn" {
pattern = "^!rup$$";
- script = pkgs.writePython2 "rup" [] ''
+ script = pkgs.writePython2 "rup" {} ''
t1 = """
_.
;=',_ ()
diff --git a/lass/2configs/websites/lassulus.nix b/lass/2configs/websites/lassulus.nix
index 8f24fb212..4c29831a2 100644
--- a/lass/2configs/websites/lassulus.nix
+++ b/lass/2configs/websites/lassulus.nix
@@ -91,7 +91,7 @@ in {
script = pkgs.writeBash "test" ''
echo "hello world"
'';
- #script = pkgs.execve "ddate-wrapper" {
+ #script = pkgs.exec "ddate-wrapper" {
# filename = "${pkgs.ddate}/bin/ddate";
# argv = [];
#};
diff --git a/submodules/nix-writers b/submodules/nix-writers
-Subproject 5d79992262e8f16a3efa985375be74abea3bb39
+Subproject c27a9416e8ee04d708b11b48f8cf1a055c0cc07
diff --git a/tv/1systems/mu/config.nix b/tv/1systems/mu/config.nix
index 6c22971bf..f51366546 100644
--- a/tv/1systems/mu/config.nix
+++ b/tv/1systems/mu/config.nix
@@ -2,9 +2,7 @@ with import <stockholm/lib>;
{ config, pkgs, ... }: {
imports = [
- <stockholm/krebs>
- <stockholm/tv/2configs>
- <stockholm/tv/3modules>
+ <stockholm/tv>
<stockholm/tv/2configs/exim-retiolum.nix>
<stockholm/tv/2configs/retiolum.nix>
];
@@ -57,6 +55,7 @@ with import <stockholm/lib>;
gimp
iptables
libreoffice
+ plasma-pa
(pkgs.pidgin-with-plugins.override {
plugins = [ pkgs.pidginotr ];
})