Currently waybar _can_ try to start even if there's no graphical session (and
no sway) running. Adding `Requisite=` prevents this. From `systemd.unit(5)`:
Requisite=
Similar to Requires=. However, if the units listed here are not
started already, they will not be started and the starting of
this unit will fail immediately. Requisite= does not imply an
ordering dependency, even if both units are started in the same
transaction. Hence this setting should usually be combined with
After=, to ensure this unit is not started before the other
unit.
When Requisite=b.service is used on a.service, this dependency
will show as RequisiteOf=a.service in property listing of
b.service. RequisiteOf= dependency cannot be specified directly.
The current service doesn't play too nice with Sway when it is started
from [sway service](https://github.com/xdbob/sway-services).
Waybar is started before the system has a display.
```
Nov 30 22:11:23 ansan waybar[1352]: Unable to init server: Could not
connect: Connection refused
Nov 30 22:11:23 ansan waybar[1352]: cannot open display:
Nov 30 22:11:23 ansan systemd[1306]: waybar.service: Main process
exited, code=exited, status=1/FAILURE
Nov 30 22:11:23 ansan systemd[1306]: waybar.service: Failed with result
'exit-code'.
```
Restarting the service after the system has been initialized works nicely,
so this restart rule should do the trick without tinkering with the
target.