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