about summary refs log tree commit diff
path: root/nixos/modules/services/backup
diff options
context:
space:
mode:
authoramesgen <amesgen@amesgen.de>2023-10-07 11:34:20 +0200
committeramesgen <amesgen@amesgen.de>2023-10-07 16:27:57 +0200
commitbbf7f58b578ecd171f554142330ea99a3f93fad1 (patch)
treee9880043c0a67732e2b2a75dfc7b4321a87d32ac /nixos/modules/services/backup
parent34d8d08fdd2bfa089dc670a6f3e5f0d645370925 (diff)
downloadnixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar.gz
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar.bz2
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar.lz
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar.xz
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.tar.zst
nixlib-bbf7f58b578ecd171f554142330ea99a3f93fad1.zip
nixos/borgbackup: add package option
Co-authored-by: Lin Jian <me@linj.tech>
Diffstat (limited to 'nixos/modules/services/backup')
-rw-r--r--nixos/modules/services/backup/borgbackup.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 3b44f097ab79..28887f8e2ad5 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -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);
     });
 }