But with NixOS and this example specifically, you also get (at a minimum):
a) A declarative config without requiring an external tool like Ansible.
b) Any dependencies (rclone in this case) will be implicitly installed if not already present on the system.
c) If configuring a remote machine, this will copy over the encrypted rclone.conf file and decrypt it on the target.
d) And of course, it's trivial to version control and track changes to the config over time.
In the meantime I'm just going to keep using void because I know how to fix it when it breaks. Systemd i have to google how to even find the service logs.... they certainly aren't easy to find via the filesystem any more.
Finding logs for a specific service is a one-liner:
journalctl -u rclone-photos-sync.service
Add -r (reverse) to return newest logs first. Add -b to limit logs to the current boot.Here is a nice overview: https://www.digitalocean.com/community/tutorials/how-to-use-...
Do we expect an average dude to just pop into a cockpit and land a plane with no previous training?
And I agree that NixOS without Flakes is a worse experience overall.
The really nice thing about systemd timers is that as units you can get status of them and check the journal output the same as any other unit.
the time when the service unit was last triggered is stored on disk. When the timer is activated, the service unit is triggered immediately if it would have been triggered at least once during the time when the timer was inactive. Such triggering is nonetheless subject to the delay imposed by RandomizedDelaySec=. This is useful to catch up on missed runs of the service when the system was powered down.