{ pkgs, host_secrets, ... }: let secrets = host_secrets; #backupPrepareCommand = "${ # (pkgs.writeShellScriptBin "backupPrepareCommand" '' # systemctl start postgresqlBackup-piped --wait # '') #}/bin/backupPrepareCommand"; in { environment.systemPackages = with pkgs; [ restic (pkgs.writeShellScriptBin "restic-piped" '' env \ RESTIC_PASSWORD_FILE=${secrets.piped_restic_password.path} \ $(cat ${secrets.piped_restic_env.path}) \ ${pkgs.restic}/bin/restic $@ '') ]; services.restic.backups.piped = { user = "root"; paths = [ #"/var/backup/postgresql" ]; # repository is overrided in environmentFile to contain auth # make sure to keep up to date when changing repository repository = "rest:https://storage-restic.owo.monster/Piped"; passwordFile = "${secrets.piped_restic_password.path}"; environmentFile = "${secrets.piped_restic_env.path}"; pruneOpts = [ "--keep-last 5" ]; timerConfig = { OnBootSec = "1m"; OnCalendar = "daily"; }; #inherit backupPrepareCommand; }; #services.postgresqlBackup = { # enable = true; # backupAll = false; # databases = ["piped"]; # compression = "zstd"; #}; }