33 lines
741 B
Nix
33 lines
741 B
Nix
# Backup your data, kids!
|
|
{ config, lib, ... }:
|
|
let
|
|
cfg = config.my.services.postgresql-backup;
|
|
in
|
|
{
|
|
options.my.services.postgresql-backup = {
|
|
enable = lib.mkEnableOption "Backup SQL databases";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services.postgresqlBackup = {
|
|
enable = true;
|
|
backupAll = true;
|
|
location = "/var/backup/postgresql";
|
|
};
|
|
|
|
my.services.backup = {
|
|
paths = [
|
|
config.services.postgresqlBackup.location
|
|
];
|
|
# No need to store previous backups thanks to `restic`
|
|
exclude = [
|
|
(config.services.postgresqlBackup.location + "/*.prev.sql.gz")
|
|
];
|
|
};
|
|
|
|
my.system.persist.directories = [
|
|
config.services.postgresqlBackup.location
|
|
];
|
|
};
|
|
}
|