108 lines
3.1 KiB
Nix
108 lines
3.1 KiB
Nix
{ config, lib, pkgs, ... }: let
|
|
write_to_irc = chan: pkgs.writeDash "write_to_irc" ''
|
|
${pkgs.curl}/bin/curl -fsSv --unix-socket '${lib.removePrefix "unix:" config.krebs.reaktor2.mumble-reminder.API.listen}' http://z/ \
|
|
-H content-type:application/json \
|
|
-d "$(${pkgs.jq}/bin/jq -n \
|
|
--arg text "$1" '{
|
|
command:"PRIVMSG",
|
|
params:["${chan}",$text]
|
|
}'
|
|
)"
|
|
'';
|
|
animals = ''
|
|
Erdferkel
|
|
Paviane
|
|
Raupen
|
|
Australischen Wildhunde
|
|
Emus
|
|
Flundern
|
|
Gorillas
|
|
Kolibris
|
|
Schwarzfersenantilopen
|
|
Quallen
|
|
Kois
|
|
Faulaffen
|
|
Schraubenziegen
|
|
Nachtigalle
|
|
Okapis
|
|
Stachelschweine
|
|
Kurzschwanzkängurus
|
|
Waschbären
|
|
'';
|
|
systemPlugin = {
|
|
plugin = "system";
|
|
config = {
|
|
hooks.PRIVMSG = [
|
|
{
|
|
pattern = "^erriner mich$";
|
|
activate = "match";
|
|
command = {
|
|
filename = pkgs.writeDash "add_remind" ''
|
|
echo "$_from" >> /var/lib/reaktor2-mumble-reminder/users
|
|
sort /var/lib/reaktor2-mumble-reminder/users | uniq > /var/lib/reaktor2-mumble-reminder/users.tmp
|
|
mv /var/lib/reaktor2-mumble-reminder/users.tmp /var/lib/reaktor2-mumble-reminder/users
|
|
echo "Ich werde $_from in zukunft an das meetup errinern"
|
|
'';
|
|
};
|
|
}
|
|
{
|
|
pattern = "^nerv nicht$";
|
|
activate = "match";
|
|
command = {
|
|
filename = pkgs.writeDash "add_remind" ''
|
|
${pkgs.gnused}/bin/sed -i "/$_from/d" /var/lib/reaktor2-mumble-reminder/users
|
|
echo "okok, Ich werde $_from nich mehr errinern"
|
|
'';
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
in {
|
|
krebs.reaktor2.mumble-reminder = {
|
|
hostname = "irc.hackint.org";
|
|
nick = "lassulus__";
|
|
API.listen = "unix:/var/lib/reaktor2-mumble-reminder/reaktor_hackint.sock";
|
|
plugins = [
|
|
{
|
|
plugin = "register";
|
|
config = {
|
|
channels = [
|
|
"#krebs"
|
|
"#nixos"
|
|
];
|
|
};
|
|
}
|
|
systemPlugin
|
|
];
|
|
port = "6697";
|
|
};
|
|
systemd.services.mumble-reminder-nixos = {
|
|
description = "weekly reminder for nixos mumble";
|
|
startAt = "Thu *-*-* 19:00:00 Europe/Berlin";
|
|
serviceConfig = {
|
|
ExecStart = pkgs.writers.writeDash "mumble_reminder" ''
|
|
animals='
|
|
${animals}
|
|
'
|
|
${write_to_irc "#nixos"} "Es ist Donnerstag meine $(echo "$animals" | grep -v '^$' | shuf -n1 )!"
|
|
${write_to_irc "#nixos"} "kommt auf mumble://lassul.us"
|
|
'';
|
|
};
|
|
};
|
|
systemd.services.mumble-reminder-krebs = {
|
|
description = "weekly reminder for nixos mumble";
|
|
startAt = "Thu *-*-* 19:00:00 Europe/Berlin";
|
|
serviceConfig = {
|
|
ExecStart = pkgs.writers.writeDash "mumble_reminder" ''
|
|
animals='
|
|
${animals}
|
|
'
|
|
${write_to_irc "#krebs"} "Es ist Donnerstag meine $(echo "$animals" | grep -v '^$' | shuf -n1 )!"
|
|
${write_to_irc "#krebs"} "$(cat /var/lib/reaktor2-mumble-reminder/users | ${pkgs.findutils}/bin/xargs echo) : mumble?"
|
|
'';
|
|
};
|
|
};
|
|
}
|