{ 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; }; }; }