import os.path import sys systemd_user_dir = os.path.expanduser("~/.config/systemd/user") python_interpreter_dir = os.path.dirname(sys.executable) uwsgi_path = os.path.join(python_interpreter_dir, "uwsgi") piket_client_path = os.path.join(python_interpreter_dir, "piket-client") server_template = f"""[Unit] Description=piket server daemon [Service] ExecStart={uwsgi_path} --http :5000 --master --threads 2 --module piket_server:app KillSignal=SIGINT Type=notify NotifyAccess=all Environment=SENTRY_DSN={os.environ.get("SENTRY_DSN")} [Install] WantedBy=default.target """ client_template = f"""[Unit] Description=piket client Requires=piket-server.service After=piket-server.service [Service] ExecStart={piket_client_path} Environment=SENTRY_DSN={os.environ.get("SENTRY_DSN")} [Install] WantedBy=graphical.target """ os.makedirs(systemd_user_dir, exist_ok=True) with open(os.path.join(systemd_user_dir, "piket-server.service"), "w") as f: f.write(server_template) with open(os.path.join(systemd_user_dir, "piket-client.service"), "w") as f: f.write(client_template) print("Done! Don't forget to systemctl --user daemon-reload.")