nixos/borgbackup: add package option

Co-authored-by: Lin Jian <me@linj.tech>
This commit is contained in:
amesgen 2023-10-07 11:34:20 +02:00
parent 34d8d08fdd
commit bbf7f58b57
No known key found for this signature in database
GPG key ID: 1A89EC203635A13D

View file

@ -84,8 +84,8 @@ let
backupScript = mkBackupScript backupJobName cfg;
in nameValuePair backupJobName {
description = "BorgBackup job ${name}";
path = with pkgs; [
borgbackup openssh
path = [
config.services.borgbackup.package pkgs.openssh
];
script = "exec " + optionalString cfg.inhibitsSleep ''\
${pkgs.systemd}/bin/systemd-inhibit \
@ -137,7 +137,7 @@ let
'');
mkBorgWrapper = name: cfg: mkWrapperDrv {
original = "${pkgs.borgbackup}/bin/borg";
original = getExe config.services.borgbackup.package;
name = "borg-job-${name}";
set = { BORG_REPO = cfg.repo; } // (mkPassEnv cfg) // cfg.environment;
};
@ -231,6 +231,8 @@ in {
###### interface
options.services.borgbackup.package = mkPackageOptionMD pkgs "borgbackup" { };
options.services.borgbackup.jobs = mkOption {
description = lib.mdDoc ''
Deduplicating backups using BorgBackup.
@ -769,6 +771,7 @@ in {
users = mkMerge (mapAttrsToList mkUsersConfig repos);
environment.systemPackages = with pkgs; [ borgbackup ] ++ (mapAttrsToList mkBorgWrapper jobs);
environment.systemPackages =
[ config.services.borgbackup.package ] ++ (mapAttrsToList mkBorgWrapper jobs);
});
}