forked from
lass.pds.lassul.us/superconfig
This repository has no description
3.4 kB
124 lines
1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7let
8 write_to_irc =
9 chan:
10 pkgs.writers.writeDash "write_to_irc" ''
11 ${pkgs.curl}/bin/curl -fsSv --unix-socket '${lib.removePrefix "unix:" config.krebs.reaktor2.mumble-reminder.API.listen}' http://z/ \
12 -H content-type:application/json \
13 -d "$(${pkgs.jq}/bin/jq -n \
14 --arg text "$1" '{
15 command:"PRIVMSG",
16 params:["${chan}",$text]
17 }'
18 )"
19 '';
20 animals = ''
21 Erdferkel
22 Paviane
23 Raupen
24 Australischen Wildhunde
25 Emus
26 Flundern
27 Gorillas
28 Kolibris
29 Schwarzfersenantilopen
30 Quallen
31 Kois
32 Faulaffen
33 Schraubenziegen
34 Nachtigallen
35 Okapis
36 Stachelschweine
37 Kurzschwanzkängurus
38 Waschbären
39 Kurzschwanzwiesel
40 Buschochsen
41 Kurzschwanzaffen
42 Vicuñas
43 Goldwaldsänger
44 Nachtechsen
45 Halbmond-Lanzenotter
46 '';
47 systemPlugin = {
48 plugin = "system";
49 config = {
50 hooks.PRIVMSG = [
51 {
52 pattern = "^erinner mich$";
53 activate = "match";
54 command = {
55 filename = pkgs.writers.writeDash "add_remind" ''
56 echo "$_from" >> /var/lib/reaktor2-mumble-reminder/users
57 sort /var/lib/reaktor2-mumble-reminder/users | uniq > /var/lib/reaktor2-mumble-reminder/users.tmp
58 mv /var/lib/reaktor2-mumble-reminder/users.tmp /var/lib/reaktor2-mumble-reminder/users
59 echo "Ich werde $_from in zukunft an das meetup erinnern"
60 '';
61 };
62 }
63 {
64 pattern = "^nerv nicht$";
65 activate = "match";
66 command = {
67 filename = pkgs.writers.writeDash "del_remind" ''
68 ${pkgs.gnused}/bin/sed -i "/$_from/d" /var/lib/reaktor2-mumble-reminder/users
69 echo "okok, Ich werde $_from nich mehr erinnern"
70 '';
71 };
72 }
73 ];
74 };
75 };
76
77in
78{
79 krebs.reaktor2.mumble-reminder = {
80 hostname = "irc.hackint.org";
81 nick = "lassulus__";
82 API.listen = "unix:/var/lib/reaktor2-mumble-reminder/reaktor_hackint.sock";
83 plugins = [
84 {
85 plugin = "register";
86 config = {
87 channels = [
88 "#krebs"
89 "#nixos"
90 ];
91 };
92 }
93 systemPlugin
94 ];
95 port = "6697";
96 };
97 systemd.services.mumble-reminder-nixos = {
98 description = "weekly reminder for nixos mumble";
99 startAt = "Wed *-*-* 19:00:00 Europe/Berlin";
100 serviceConfig = {
101 ExecStart = pkgs.writers.writeDash "mumble_reminder" ''
102 animals='
103 ${animals}
104 '
105 ${write_to_irc "#nixos"} "Es ist Mittwoch meine $(echo "$animals" | grep -v '^$' | shuf -n1 )!"
106 ${write_to_irc "#nixos"} "kommt auf https://jitsi.lassul.us/nixos"
107 '';
108 };
109 };
110 systemd.services.mumble-reminder-krebs = {
111 description = "weekly reminder for nixos mumble";
112 startAt = "Wed *-*-* 19:00:00 Europe/Berlin";
113 serviceConfig = {
114 ExecStart = pkgs.writers.writeDash "mumble_reminder" ''
115 animals='
116 ${animals}
117 '
118 ${write_to_irc "#krebs"} "Es ist Mittwoch meine $(echo "$animals" | grep -v '^$' | shuf -n1 )!"
119 ${write_to_irc "#krebs"} "$(cat /var/lib/reaktor2-mumble-reminder/users | ${pkgs.findutils}/bin/xargs echo) : jitsi?"
120 ${write_to_irc "#krebs"} "https://jitsi.lassul.us/nixos"
121 '';
122 };
123 };
124}