clan.borgbackup: drop enable option

This commit is contained in:
Jörg Thalheim
2024-03-08 11:12:34 +01:00
parent 6d76a724c0
commit b1897530c8
3 changed files with 29 additions and 34 deletions

View File

@@ -75,10 +75,7 @@ in
};
system.extraDependencies = dependencies;
clanCore.state.test-backups.folders = [ "/var/test-backups" ];
clan.borgbackup = {
enable = true;
destinations.test_backup_server.repo = "borg@server:.";
};
clan.borgbackup.destinations.test_backup_server.repo = "borg@server:.";
};
};
perSystem = { nodes, pkgs, ... }: {

View File

@@ -36,10 +36,7 @@
};
clanCore.secretStore = "vm";
clan.borgbackup = {
enable = true;
destinations.test.repo = "borg@localhost:.";
};
clan.borgbackup.destinations.test.repo = "borg@localhost:.";
}
];
};

View File

@@ -3,9 +3,7 @@ let
cfg = config.clan.borgbackup;
in
{
options.clan.borgbackup = {
enable = lib.mkEnableOption "backups with borgbackup";
destinations = lib.mkOption {
options.clan.borgbackup.destinations = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({ name, ... }: {
options = {
name = lib.mkOption {
@@ -25,12 +23,15 @@ in
};
}));
default = { };
description = ''
destinations where the machine should be backuped to
'';
};
};
config = lib.mkIf cfg.enable {
imports = [ (lib.mkRemovedOptionModule [ "clan" "borgbackup" "enable" ] "Just define clan.borgbackup.destinations to enable it") ];
config = lib.mkIf (cfg.destinations != [ ]) {
services.borgbackup.jobs = lib.mapAttrs
(_: dest: {
paths = lib.flatten (map (state: state.folders) (lib.attrValues config.clanCore.state));