This repository has no description
1.9 kB
73 lines
1{
2 config,
3 pkgs,
4 lib,
5 ...
6}:
7let
8 interdimensional-cable =
9 let
10 nimaid-github-io = pkgs.fetchFromGitHub {
11 owner = "nimaid";
12 repo = "nimaid.github.io";
13 rev = "5c4f8dda1216d578ad7cd6b0052d5ebf3696ea12";
14 sha256 = "sha256-w0u72Q0CkxRu8lr/pp863POzAg09xssbot9pOhSsAn4=";
15 };
16 in
17 pkgs.writeShellScriptBin "interdimensional-cable" ''
18 export PATH=${
19 lib.makeBinPath [
20 pkgs.mpv
21 pkgs.jq
22 pkgs.gnused
23 ]
24 }
25 mpv --shuffle --playlist=<(jq -r '.videos[]' ${nimaid-github-io}/tv/interdimensional_database.json | sed 's#^#https://youtu.be/#')
26 '';
27in
28{
29 systemd.services.reaktor2-idc.serviceConfig.DynamicUser = lib.mkForce false;
30 systemd.services.reaktor2-idc.serviceConfig.Group = lib.mkForce "users";
31
32 environment.systemPackages = [ interdimensional-cable ];
33
34 krebs.reaktor2.idc = {
35 hostname = "irc.r";
36 username = "lass";
37 port = "6667";
38 nick = "inter_dimensional_cable";
39 plugins = [
40 {
41 plugin = "register";
42 config = {
43 channels = [
44 # "#xxx"
45 "#noise"
46 ];
47 };
48 }
49 {
50 plugin = "system";
51 config = {
52 hooks.PRIVMSG = [
53 {
54 activate = "match";
55 pattern = ''^!([^ ]+)(?:\s*(.*))?'';
56 command = 1;
57 arguments = [ 2 ];
58 commands = {
59 next.filename = pkgs.writeDash "next" ''
60 DISPLAY=:0 ${pkgs.xdotool}/bin/xdotool key "enter"
61 '';
62 mute.filename = pkgs.writeDash "mute" ''
63 TMUX_TMPDIR=/tmp ${pkgs.tmux}/bin/tmux send-keys -t radio m
64 DISPLAY=:0 ${pkgs.xdotool}/bin/xdotool key "m"
65 '';
66 };
67 }
68 ];
69 };
70 }
71 ];
72 };
73}