blob: 217d25061c0e61a3de14f946948a6e513ea00f48 [file] [log] [blame]
{ pkgs, workspace, ... }:
let
python = pkgs.python3.withPackages (pp: [ pp.jinja2 pp.paho-mqtt pp.flask ]);
src = pkgs.fetchgit {
url = "https://code.hackerspace.pl/informatic/spejsiot-api";
rev = "d5bcb860738df0c9702c2e6f6954cfa08e3c7153";
sha256 = "sha256-1xZ6RKl/AkMYvyFDcANQiSY3dJPQitaKjLl9ijrAHOs=";
};
run = pkgs.writeShellScriptBin "spejsiot-api" ''
cd ${src}
exec ${python}/bin/python3 main.py
'';
name = "spejsiot-api";
user = name;
group = name;
socket_dir = "/run/${name}/";
in {
users.users."${user}" = {
group = "${group}";
isSystemUser = true;
};
users.groups."${group}" = { };
systemd.services."${name}" = {
description = "Hackerspace Checkinator";
wantedBy = [ "multi-user.target" ];
after = [ "mosquitto.service" ];
serviceConfig.User = "${user}";
serviceConfig.Type = "simple";
serviceConfig.Restart = "always";
serviceConfig.RestartSec = "30";
serviceConfig.ExecStart = "${run}/bin/spejsiot-api";
};
}