Set up rclone config and upload script (litmus-6gbb)
Create rclone-based sync tooling:
- Add rclone to project dev dependencies (added to flake.nix devShell)
- Create rclone config for R2 (inline flags, no config file needed)
- Write mise task
screenshots-syncwith –checksum flag - Ensure correct Content-Type headers are set on upload (rclone auto-detects from extension)
- Tested with dry-run, then full upload (117.9 MiB, ~1000 files)
- Env vars: R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_ENDPOINTS (set via shadowenv)
Summary of Changes
- Added
rcloneto flake.nix devShell packages - Added
screenshots-syncmise task: rclone sync with checksum-based diffing - Added
screenshots-deploymise task: builds production manifest + syncs - All env vars passed inline (no rclone.conf needed)
- Successfully uploaded all screenshots to R2 bucket