From a936b9edec45591e04dd2caa79cb87b6e87c8619 Mon Sep 17 00:00:00 2001 From: "Markus S. Wamser" Date: Thu, 20 Jul 2023 09:15:07 +0200 Subject: tarsnap: add package option --- nixos/modules/services/backup/tarsnap.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'nixos/modules/services/backup') diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix index b34aa3ff50dda..9e1db23ca22a7 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -32,6 +32,8 @@ in services.tarsnap = { enable = mkEnableOption (lib.mdDoc "periodic tarsnap backups"); + package = mkPackageOption pkgs "tarsnap" { }; + keyfile = mkOption { type = types.str; default = "/root/tarsnap.key"; @@ -307,7 +309,7 @@ in requires = [ "network-online.target" ]; after = [ "network-online.target" ]; - path = with pkgs; [ iputils tarsnap util-linux ]; + path = with pkgs; [ iputils gcfg.package util-linux ]; # In order for the persistent tarsnap timer to work reliably, we have to # make sure that the tarsnap server is reachable after systemd starts up @@ -318,7 +320,7 @@ in ''; script = let - tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"''; + tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; run = ''${tarsnap} -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \ ${optionalString cfg.verbose "-v"} \ ${optionalString cfg.explicitSymlinks "-H"} \ @@ -355,10 +357,10 @@ in description = "Tarsnap restore '${name}'"; requires = [ "network-online.target" ]; - path = with pkgs; [ iputils tarsnap util-linux ]; + path = with pkgs; [ iputils gcfg.package util-linux ]; script = let - tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"''; + tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; lastArchive = "$(${tarsnap} --list-archives | sort | tail -1)"; run = ''${tarsnap} -x -f "${lastArchive}" ${optionalString cfg.verbose "-v"}''; cachedir = escapeShellArg cfg.cachedir; @@ -402,6 +404,6 @@ in { text = configFile name cfg; }) gcfg.archives; - environment.systemPackages = [ pkgs.tarsnap ]; + environment.systemPackages = [ gcfg.package ]; }; } -- cgit 1.4.1