mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-02-13 16:18:57 -05:00
65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
let
|
|
volumePath = "/overseer/services";
|
|
restic-default = {
|
|
user = "root";
|
|
timerConfig = {
|
|
OnCalendar = "hourly";
|
|
Persistent = true;
|
|
};
|
|
paths = [
|
|
# Pocket-ID
|
|
"/var/lib/pocket-id"
|
|
"/var/lib/forgejo"
|
|
"/var/lib/mealie"
|
|
|
|
# lubelogger.nix
|
|
"${volumePath}/lubelogger"
|
|
|
|
# trilium.nix
|
|
"/var/lib/trilium/backup"
|
|
|
|
# actualbudget
|
|
"${volumePath}/actualbudget"
|
|
|
|
"/var/lib/tuwunel"
|
|
"/var/lib/paperless/export"
|
|
|
|
];
|
|
};
|
|
in
|
|
{
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
# Restic secrets
|
|
sops.secrets = {
|
|
"restic/borg-base/url" = { };
|
|
"restic/borg-base/key" = { };
|
|
"restic/hetzner-handlerone/url" = { };
|
|
"restic/hetzner-handlerone/key" = { };
|
|
};
|
|
|
|
services.restic.backups = {
|
|
borg-base = restic-default // {
|
|
repositoryFile = config.sops.secrets."restic/borg-base/url".path;
|
|
passwordFile = config.sops.secrets."restic/borg-base/key".path;
|
|
};
|
|
hetzner-handlerone = {
|
|
initialize = true;
|
|
extraOptions = [
|
|
"sftp.args='-i /etc/ssh/ssh_host_ed25519_key -p 23'"
|
|
];
|
|
repositoryFile = config.sops.secrets."restic/hetzner-handlerone/url".path;
|
|
passwordFile = config.sops.secrets."restic/hetzner-handlerone/key".path;
|
|
paths = [
|
|
"${volumePath}/flamesites/swgalaxyproject"
|
|
"${volumePath}/flamesites/nnsbluegrass"
|
|
"/home/crow/swgalaxysite/public_html"
|
|
"/home/crow/flamebandsite/public_html"
|
|
];
|
|
}
|
|
// restic-default;
|
|
};
|
|
}
|