summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/Reaktor
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-09-18 22:33:00 +0200
committermakefu <github@syntax-fehler.de>2015-09-18 22:33:00 +0200
commitbb0ec5e74b6ca0737bc49408f00f8918710872a6 (patch)
treec5a7c91994ffffea181203d8098839cf259d930a /makefu/2configs/Reaktor
parent8039584d66efd9275f94e411cbfb664732fc732f (diff)
add titlebot implementation
Diffstat (limited to 'makefu/2configs/Reaktor')
-rw-r--r--makefu/2configs/Reaktor/titlebot.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/makefu/2configs/Reaktor/titlebot.nix b/makefu/2configs/Reaktor/titlebot.nix
new file mode 100644
index 00000000..9ef02548
--- /dev/null
+++ b/makefu/2configs/Reaktor/titlebot.nix
@@ -0,0 +1,38 @@
+{ stdenv,config, lib, pkgs, ... }:
+
+with pkgs;
+let
+ pypkgs = pkgs.python3Packages;
+ titlebot_cmds = pypkgs.buildPythonPackage {
+ name = "titlebot_cmds";
+ propagatedBuildInputs = with pypkgs; [ setuptools ];
+ src = fetchurl {
+ # https://github.com/makefu/reaktor-titlebot tag 2.1.0
+ url = "https://github.com/makefu/reaktor-titlebot/archive/2.1.0.tar.gz";
+ sha256 = "0wvf09wmk8b52f9j65qrw81nwrhs9pfhijwrlkzp5l7l2q8cjkp6";
+ };
+ };
+ pub_cmds = ["up" "help" "list" "top" "highest" "undo" ];
+ priv_cmds = [ "clear" ];
+in {
+ # TODO: write identify file in
+ # {config.users.extraUsers.Reaktor.home}/state/admin.lst
+ krebs.Reaktor.extraConfig = ''
+ def titlebot_cmd(cmd):
+ return {
+ 'capname': cmd,
+ 'env': {
+ 'TITLEDB':
+ '${config.users.extraUsers.Reaktor.home}/suggestions.json'
+ },
+ 'pattern': '^\\.' + cmd + '\\s*(?:\\s+(?P<args>.*))?$$',
+ 'argv': [ '${titlebot_cmds}/bin/' + cmd ] }
+ # TODO: for each element in ${titlebot_cmds}/bin/*
+ public_commands.insert(0,titlebot_cmd('up'))
+ public_commands.insert(0,titlebot_cmd('help'))
+ public_commands.insert(0,titlebot_cmd('list'))
+ public_commands.insert(0,titlebot_cmd('top'))
+ public_commands.insert(0,titlebot_cmd('new'))
+ commands.insert(0,titlebot_cmd('clear'))
+ '';
+}