Previously we were starting swayidle on niri. Unfortunately, this caused a race condition where niri idle inhibitions were not respected. As niri gets idle inhibitions from, say, browsers when playing video, this meant we had to do nasty hacks such as manually systemd-inhibiting via a shell
By moving startup to systemd, we can start swayidle later - and in much the same way as starting our SSH agent later avoids its race conditions, starting swayidle later fixes this issue...
LGTM