42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ 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;
|
|
};
|
|
};
|
|
}
|