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