summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/led-fader.nix
blob: 292b6679d8d1922e3639df3efa99e14a111b510c (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
37
38
39
40
41
{ config, lib, pkgs, buildPythonPackage, ... }:

let
  mq = "192.168.8.11";

  pkg = pkgs.python3Packages.buildPythonPackage {
    name = "ampel-master";

    src = pkgs.fetchgit {
      url = "http://cgit.euer.krebsco.de/ampel";
      rev = "531741b";
      sha256 = "110yij53jz074zbswylbzcd8jy7z49r9fg6i3j1gk2y3vl91g81c";
    };
    propagatedBuildInputs = with pkgs.python3Packages; [
        docopt
        paho-mqtt
        requests
        pytz
        influxdb
        httplib2
        google_api_python_client
    ];
  };
in {
  systemd.services.led-fader  = {
    description = "Send led change to message queue";
    environment = {
      NIX_PATH = "/var/src";
    };
    after = [ "network-online.target"  ] ++ (lib.optional config.services.mosquitto.enable "mosquitto.service");
    wantedBy = [ "multi-user.target"  ];
    serviceConfig = {
      # User = "nobody"; # need a user with permissions to run nix-shell
      ExecStartPre = pkgs.writeDash "sleep.sh" "sleep 2";
      ExecStart = "${pkg}/bin/ampel 4";
      Restart = "always";
      RestartSec = 10;
      PrivateTmp = true;
    };
  };
}