From bb0ec5e74b6ca0737bc49408f00f8918710872a6 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 18 Sep 2015 22:33:00 +0200 Subject: add titlebot implementation --- makefu/1systems/pnp.nix | 2 ++ makefu/2configs/Reaktor/titlebot.nix | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 makefu/2configs/Reaktor/titlebot.nix diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix index e70fb6179..2dce87d5d 100644 --- a/makefu/1systems/pnp.nix +++ b/makefu/1systems/pnp.nix @@ -22,6 +22,7 @@ ## \/ are only plugins, must enable Reaktor explicitly ../2configs/Reaktor/stockholmLentil.nix ../2configs/Reaktor/simpleExtend.nix + ../2configs/Reaktor/titlebot.nix ../2configs/exim-retiolum.nix ../2configs/urlwatch.nix @@ -29,6 +30,7 @@ # ../2configs/graphite-standalone.nix ]; krebs.Reaktor.enable = true; + krebs.Reaktor.debug = true; krebs.build.host = config.krebs.hosts.pnp; krebs.build.user = config.krebs.users.makefu; diff --git a/makefu/2configs/Reaktor/titlebot.nix b/makefu/2configs/Reaktor/titlebot.nix new file mode 100644 index 000000000..9ef02548b --- /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.*))?$$', + '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')) + ''; +} -- cgit v1.2.3