/** * systemd service templates */ export function getServerServiceTemplate(configPath?: string): string { const configArg = configPath ? ` --config ${configPath}` : ''; return `[Unit] Description=USB/IP Supervisor Server After=network-online.target Wants=network-online.target [Service] Type=simple ExecStartPre=/sbin/modprobe vhci-hcd ExecStartPre=/sbin/modprobe usbip-core ExecStart=/usr/bin/env bunx @siwats/usbip-supervisor server${configArg} Restart=on-failure RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target `; } export function getClientServiceTemplate(configPath?: string): string { const configArg = configPath ? ` --config ${configPath}` : ''; return `[Unit] Description=USB/IP Supervisor Client After=network-online.target Wants=network-online.target [Service] Type=simple ExecStartPre=/sbin/modprobe vhci-hcd ExecStartPre=/sbin/modprobe usbip-core ExecStart=/usr/bin/env bunx @siwats/usbip-supervisor client${configArg} Restart=on-failure RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target `; }