From 8a23b8234ad6f0c8eb0ae17bc7d0d1ff36518b81 Mon Sep 17 00:00:00 2001 From: makefu <github@syntax-fehler.de> Date: Fri, 18 Sep 2015 22:33:00 +0200 Subject: [PATCH] add titlebot implementation --- 1systems/pnp.nix | 2 ++ 2configs/Reaktor/titlebot.nix | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 2configs/Reaktor/titlebot.nix diff --git a/1systems/pnp.nix b/1systems/pnp.nix index e70fb61..2dce87d 100644 --- a/1systems/pnp.nix +++ b/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/2configs/Reaktor/titlebot.nix b/2configs/Reaktor/titlebot.nix new file mode 100644 index 0000000..9ef0254 --- /dev/null +++ b/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')) + ''; +}