services: borg-backup: no longer needed
This commit is contained in:
parent
238294b7bf
commit
3b99096af9
|
@ -1,9 +0,0 @@
|
|||
{ lib }:
|
||||
let
|
||||
inherit (lib)
|
||||
fileContents
|
||||
;
|
||||
in
|
||||
{
|
||||
poseidon-repo = fileContents ./poseidon-repo.secret;
|
||||
}
|
Binary file not shown.
|
@ -16,7 +16,6 @@ in {
|
|||
nextcloud-admin-user = fileContents ./nextcloud-admin-user.secret;
|
||||
lohr-shared-secret = fileContents ./lohr-shared-secret.secret;
|
||||
|
||||
borg-backup = import ./borg-backup { inherit lib; };
|
||||
paperless = import ./paperless { inherit lib; };
|
||||
restic-backup = import ./restic-backup { inherit lib; };
|
||||
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
;
|
||||
cfg = config.my.services.borg-backup;
|
||||
in {
|
||||
options.my.services.borg-backup = let inherit (lib) types; in {
|
||||
enable = mkEnableOption "Enable Borg backups for this host";
|
||||
|
||||
repo = mkOption {
|
||||
type = types.str;
|
||||
default = null;
|
||||
example = "deadbeef@deadbeef.repo.borgbase.com:repo";
|
||||
description = "Borgbase repo info. Required.";
|
||||
};
|
||||
|
||||
prune = mkOption {
|
||||
type = types.attrs;
|
||||
default = {
|
||||
keep = {
|
||||
daily = 7;
|
||||
weekly = 4;
|
||||
monthly = 6;
|
||||
};
|
||||
};
|
||||
description = "pruning options for borg";
|
||||
};
|
||||
|
||||
paths = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [
|
||||
"/var/lib"
|
||||
"/home"
|
||||
];
|
||||
description = "Paths to backup";
|
||||
};
|
||||
|
||||
exclude = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [
|
||||
# very large paths
|
||||
"/var/lib/docker"
|
||||
"/var/lib/systemd"
|
||||
"/var/lib/libvirt"
|
||||
|
||||
# temporary files created by cargo and `go build`
|
||||
"**/target"
|
||||
"/home/*/go/bin"
|
||||
"/home/*/go/pkg"
|
||||
];
|
||||
description = "Paths to exclude from backup";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.borgbackup.jobs."borgbase" = {
|
||||
paths = cfg.paths;
|
||||
exclude = cfg.exclude;
|
||||
repo = cfg.repo;
|
||||
encryption = {
|
||||
mode = "repokey-blake2";
|
||||
passCommand = "cat /root/borgbackup/passphrase";
|
||||
};
|
||||
environment.BORG_RSH = "ssh -i /root/borgbackup/ssh_key";
|
||||
extraCreateArgs = "--stats --list";
|
||||
extraPruneArgs = "--stats --list --save-space";
|
||||
doInit = true;
|
||||
compression = "auto,zstd";
|
||||
startAt = "daily";
|
||||
prune = cfg.prune;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,7 +3,6 @@
|
|||
{
|
||||
imports = [
|
||||
./vaultwarden.nix
|
||||
./borg-backup.nix
|
||||
./fail2ban.nix
|
||||
./fava.nix
|
||||
./gitea
|
||||
|
|
Loading…
Reference in a new issue