2024-08-12 16:58:39 +02:00
|
|
|
{
|
|
|
|
|
services.borgbackup.jobs."borgbase" = {
|
|
|
|
|
paths = [
|
|
|
|
|
# server storage
|
|
|
|
|
"/var/lib/postgresql"
|
2024-08-18 14:13:08 +02:00
|
|
|
"/var/lib/mysql"
|
2024-08-12 16:58:39 +02:00
|
|
|
"/var/lib/sourcehut"
|
2024-08-18 14:13:08 +02:00
|
|
|
"/var/lib/snipe-it"
|
2024-08-12 16:58:39 +02:00
|
|
|
# user storage
|
|
|
|
|
"/home"
|
|
|
|
|
];
|
|
|
|
|
exclude = [
|
|
|
|
|
# remote mounted folders
|
|
|
|
|
"/home/khais/Music"
|
|
|
|
|
"/home/khais/Books"
|
2025-01-03 20:00:58 +01:00
|
|
|
"/home/khais/Audiobooks"
|
2024-08-12 16:58:39 +02:00
|
|
|
# scratch directories
|
|
|
|
|
"/home/*/Downloads"
|
|
|
|
|
"/home/*/.local"
|
|
|
|
|
# cache & trash directories
|
|
|
|
|
"**/*cache"
|
|
|
|
|
"**/*Cache"
|
|
|
|
|
"**/*trash"
|
|
|
|
|
"**/*Trash"
|
|
|
|
|
# already cloud apps
|
|
|
|
|
"**/.mozilla/firefox"
|
2025-01-03 20:41:47 +01:00
|
|
|
"**/.thunderbird"
|
2024-08-12 16:58:39 +02:00
|
|
|
# build-output directories
|
|
|
|
|
"**/target"
|
|
|
|
|
"**/result"
|
|
|
|
|
];
|
|
|
|
|
repo = "lni0x30f@lni0x30f.repo.borgbase.com:repo";
|
|
|
|
|
encryption = {
|
|
|
|
|
mode = "repokey-blake2";
|
|
|
|
|
passCommand = "cat /root/borgbackup/passphrase";
|
|
|
|
|
};
|
|
|
|
|
environment.BORG_RSH = "ssh -i /root/borgbackup/ssh_key";
|
|
|
|
|
compression = "auto,lzma";
|
|
|
|
|
startAt = "daily";
|
2024-08-16 18:50:29 +02:00
|
|
|
persistentTimer = true;
|
2024-08-23 14:42:09 +02:00
|
|
|
preHook = ''
|
|
|
|
|
/bin/sh -c 'while ! /run/current-system/sw/bin/ping -c1 google.com; do sleep 1; done'
|
|
|
|
|
'';
|
2024-08-12 16:58:39 +02:00
|
|
|
};
|
|
|
|
|
}
|