Dear Fabio and Richard,

I apologize for blocking this issue with my proposal. I think Fabio's proposal of splitting the changes in this patch is the best way forward, if you agree as well Richard. I submitted [0] to refactor the restic-guix procedure in a way that it can support many different commands.

After it gets in it should be sufficient to add "init" to %restic-guix-supported-actions to have a working restic-guix init invokation. it should be then matter of understanding where it is better to put it. Lately I was thinking that may be best to have initialization as a one shot Shepherd service that check whether a given job is supposed to have its repository initialized and if that's the case it could run restic-guix init name-of the job. Please Richard let me know what you think of this approach and whether you would still be interested in implementing it, thank you very much!

I think the following subdivision should match all requirements we stated until now:

1. Improve the restic backup system service . This can be done in the current issue #71639:

services: backup: Add password-command support to restic-service
services: backup: Add extra-packages field to restic-backup-job
services: backup: Move restic package to restic-configuration

2. Refactor the restic-guix function to allow for more restic commands to be wrapped. This can be done in issue #72803:

services: restic-backup: Add more restic commands to the restic-guix package.

3. Allow for repositories to be initialized with a restic-guix init command. This commit could be adapted and moved to a new branch based on #72803:

services: backup: Support bootstrapping an initial restic backup

What do you think? Could this be a suitable action plan?

Thank you very much for your work,

giacomo


[0]: https://issues.guix.gnu.org/72803