#!/usr/bin/env python3
# This file is placed in the Public Domain.
# pylint: disable=C,I,R,W0212
# ruff: noqa: E402


"cli"


import os


from nixt.command import Commands
from nixt.config  import config
from nixt.event   import Event
from nixt.main    import cmnd, wrap
from nixt.parse   import parse


cfg = config()


def srv(event):
    "create service file (pipx)."
    import getpass
    if event.args:
        username = event.args[0]
    else:
        username  = getpass.getuser()
    path = os.path.normpath(f"/home/{username}/.local/bin/")
    txt = f"""[Unit]
Description={cfg.name.upper()}
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
User={username}
Group={username}
ExecStartPre={path}/{cfg.name}skl
ExecStart={path}/{cfg.name}s
ExitType=cgroup
KillSignal=SIGKILL
KillMode=control-group
Restart=no

[Install]
WantedBy=default.target"""
    event.reply(txt)


def main():
    "main"
    Commands.add(srv)
    event = Event()
    parse(event, "srv")
    cmnd(event.otxt, print)


if __name__ == "__main__":
    wrap(main)
    #os._exit(0)
