{pkgs, ...}: { systemd.tmpfiles.rules = [ "d /Music - mpd mpd" ]; systemd.services.music-sync = { wantedBy = ["multi-user.target"]; after = ["network.target"]; partOf = ["mpd.service"]; path = with pkgs; [bash rclone mount umount]; script = let rclone_config = pkgs.writeText "rclone.conf" '' [Music] type = webdav url = https://storage-webdav.owo.monster/music_ro/ vendor = nextcloud ''; in '' set -e rclone --config ${rclone_config} sync Music: /Music chown -R mpd:mpd /Music ''; }; systemd.timers.music-sync = { wantedBy = ["timers.target"]; partOf = ["music-sync.service"]; timerConfig.OnCalendar = "hourly"; }; systemd.services.mpd = { after = ["music-copy.service"]; serviceConfig = { ReadOnlyPaths = "/Music"; }; }; }