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