nixos/borgmatic: do not create source directories for empty databases (#410752)

authored by Thomas J and committed by GitHub 4531deee 7517a0b3

+12 -6
+12 -6
nixos/modules/services/backup/borgmatic.nix
··· 17 addRequiredBinaries = 18 s: 19 s 20 - // { 21 postgresql_databases = map ( 22 d: 23 let ··· 33 psql_command = "${as_user}${postgresql}/bin/psql"; 34 } 35 // d 36 - ) (s.postgresql_databases or [ ]); 37 mariadb_databases = map ( 38 d: 39 { ··· 41 mariadb_command = "${mysql}/bin/mariadb"; 42 } 43 // d 44 - ) (s.mariadb_databases or [ ]); 45 mysql_databases = map ( 46 d: 47 { ··· 49 mysql_command = "${mysql}/bin/mysql"; 50 } 51 // d 52 - ) (s.mysql_databases or [ ]); 53 - }; 54 55 repository = 56 with lib.types; ··· 149 config = 150 let 151 configFiles = 152 - (lib.optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) 153 // lib.mapAttrs' ( 154 name: value: 155 lib.nameValuePair "borgmatic.d/${name}.yaml" {
··· 17 addRequiredBinaries = 18 s: 19 s 20 + // (lib.optionalAttrs (s ? postgresql_databases && s.postgresql_databases != [ ]) { 21 postgresql_databases = map ( 22 d: 23 let ··· 33 psql_command = "${as_user}${postgresql}/bin/psql"; 34 } 35 // d 36 + ) s.postgresql_databases; 37 + }) 38 + // (lib.optionalAttrs (s ? mariadb_databases && s.mariadb_databases != [ ]) { 39 mariadb_databases = map ( 40 d: 41 { ··· 43 mariadb_command = "${mysql}/bin/mariadb"; 44 } 45 // d 46 + ) s.mariadb_databases; 47 + }) 48 + // (lib.optionalAttrs (s ? mysql_databases && s.mysql_databases != [ ]) { 49 mysql_databases = map ( 50 d: 51 { ··· 53 mysql_command = "${mysql}/bin/mysql"; 54 } 55 // d 56 + ) s.mysql_databases; 57 + }); 58 59 repository = 60 with lib.types; ··· 153 config = 154 let 155 configFiles = 156 + (lib.optionalAttrs (cfg.settings != null) { 157 + "borgmatic/config.yaml".source = cfgfile; 158 + }) 159 // lib.mapAttrs' ( 160 name: value: 161 lib.nameValuePair "borgmatic.d/${name}.yaml" {