On Linux systems it seems sensible to run the daemon as a systemd user service for local reviews, but right now there is an awkward choice between starting the service at login (which is almost certainly too early) or making it completely manual.
I'd suggest adding support for systemd socket activation in the daemon so that it can be configured to start up automatically when there is review work to do. I believe there is fairly good support in the Go ecosystem for detecting when the right systemd-related environment variables are set and converting the passed file descriptor to something you can Listen() on already.
I'm not sure you'd even need a new flag; it would make sense to me that socket activation takes precedence over --server and --addr when detected.
On Linux systems it seems sensible to run the daemon as a systemd user service for local reviews, but right now there is an awkward choice between starting the service at login (which is almost certainly too early) or making it completely manual.
I'd suggest adding support for systemd socket activation in the daemon so that it can be configured to start up automatically when there is review work to do. I believe there is fairly good support in the Go ecosystem for detecting when the right systemd-related environment variables are set and converting the passed file descriptor to something you can
Listen()on already.I'm not sure you'd even need a new flag; it would make sense to me that socket activation takes precedence over
--serverand--addrwhen detected.