summaryrefslogtreecommitdiffstats
path: root/krebs/2configs/shack/mqtt_sub.nix
blob: bd0b6df85464b823dedac39c9251a1b6b4e83e7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ config, lib, pkgs, ... }:

with import <stockholm/lib>;
let
  pkg = pkgs.stdenv.mkDerivation {
    name = "mqtt2graphite-2017-05-29";
    src = pkgs.fetchgit {
      url = "https://github.com/shackspace/mqtt2graphite/";
      rev = "117179d";
      sha256 = "1334jbbzlqizyp7zcn4hdswhhrnkj1p4p435n5nph82lzffrsi44";
    };
    buildInputs = [
      (pkgs.python35.withPackages (pythonPackages: with pythonPackages; [
        docopt
        paho-mqtt
      ]))
    ];
    installPhase = ''
      install -m755 -D sub.py  $out/bin/sub
      install -m755 -D sub2.py  $out/bin/sub-new
    '';
  };
in {
  systemd.services.mqtt_sub  = {
    description = "subscribe to mqtt, send to graphite";
    # after = [ (lib.optional config.services.mosqitto.enable "mosquitto.service") ];
    wantedBy = [ "multi-user.target"  ];
    serviceConfig = {
      User = "nobody";
      ExecStart = "${pkg}/bin/sub-new";
      PrivateTmp = true;
      Restart = "always";
      RestartSec = "15";
    };
  };
}