smaller things:

[ ] raise exception if user uses non-absolute paths for _local_ repositories. also for restic binary.
[ ] raise warning if repository types are identical (there are some scenarios where this makes sense, but alert the use for those where restic cannot deal with it)


bigger things:

[ ] support path/host/tag filtering of snapshots. if these are passed to the intial "restic snapshots" command, that would solve this.
  - basically we just need to provide an interface to the native restic host/path/tag filtering, and the native restic "group-by"
  - also need to handle the changed json output when grouping is turned on, vs turned off... 
  - which means handling the concept of a snapshot list being made of one or more snapshot groups...
[ ] support multiple... jobs? replicas?
  - I don't know how to do this nicely without gutting the config file. I think the sanest approach is to have a new kind of entry, a replica, that lives in it's own section, and just refers to other sections.
[ ] optionally init the repositories? (future enh)
[ ] environment commands: set environment variables using commands, for safety.
  - Basically in the event of the system being compromised, the remote repository should not necessarily be.
[ ] cross replication/sync
[ ] more robust handling of missing sections in the config file. So long as there's a "source" and "destination" section it should just work?
[ ] support for specifying config file path via cli, sets up enabling multiple configurations. This is prolly the simplest way of doing multiple repositories...
[ ] tabular output of the snapshots to be copied! probably just use tabulate, why re-invent the wheel? unless you think reinventing the wheel is fun... https://pypi.org/project/tabulate/
  - might actually befit us to write our own lib because we only need a subset of the features on offer really, and that way we're not reliant on upstream for updates (tabulate doesn't support 3.14 yet)
  - tabular output should include reasoning why snapshots to be copied were selected by the filter.


things that need thinking about

[] a better way of handling environment variables? Maybe if we tried to avoid them wherever possible this would work better? I think in terms of auth, we probably need to know which variables need to be present for the copy op, and only filter those. Future enh though.
  - I think the crux of this is restic kinda... doesn't deal with this nicely hah.


WONTIMPLEMENT:
- (this is impossible) if chunker params are different across src/tgt, warn? how would we detect this.
