startup
Install or uninstall Runix as a system service that starts automatically on boot.
Usage
runix startup [flags]
Description
Installs Runix as a user-level system service. Supports systemd (Linux) and launchd (macOS).
Examples
# Auto-detect platform and install
runix startup
# Explicit platform
runix startup --platform systemd
# Uninstall the service
runix startup --uninstall
Flags
| Flag | Default | Description |
|---|---|---|
--platform | auto-detected | Init system: systemd, launchd |
--uninstall | false | Uninstall the startup service |
Platform Detection
Runix auto-detects the init system:
| Check | Platform |
|---|---|
/run/systemd/system exists | systemd |
/Library/LaunchDaemons exists | launchd |
| Default fallback | systemd |
systemd (Linux)
Installs a user-level service unit:
File: ~/.config/systemd/user/runix.service
[Unit]
Description=Runix Process Manager
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/runix daemon run
Restart=on-failure
RestartSec=5
Environment=RUNIX_DAEMON=1
[Install]
WantedBy=default.target
After installation, enable and start:
systemctl --user daemon-reload
systemctl --user enable --now runix.service
To uninstall:
runix startup --uninstall
# Then run:
# systemctl --user disable --now runix.service
# rm ~/.config/systemd/user/runix.service
# systemctl --user daemon-reload
launchd (macOS)
Installs a LaunchAgent plist:
File: ~/Library/LaunchAgents/io.runix.daemon.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.runix.daemon</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/runix</string>
<string>daemon</string>
<string>run</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
After installation, load the agent:
launchctl load ~/Library/LaunchAgents/io.runix.daemon.plist
What's Next
- Daemon Commands — Managing the daemon
- Save/Resurrect — Persist process state across restarts