From c46b26b9ad63d6f6f0e4e16bb0a660dd937032e1 Mon Sep 17 00:00:00 2001 From: Michel Weitbrecht Date: Fri, 8 May 2020 18:37:51 +0200 Subject: [PATCH] nixos/znapzend: Use generic mbuffer path The configured mbuffer path will be called on both the source and target system. If you use pkgs.mbuffer from the source host and the target host does not have this exact derivation, you will get a broken pipe when sending snapshots. This is the case when transferring to a non-NixOS system or to a host with a different mbuffer version. --- nixos/modules/services/backup/znapzend.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix index 98cd647f61ac..134966a5a35f 100644 --- a/nixos/modules/services/backup/znapzend.nix +++ b/nixos/modules/services/backup/znapzend.nix @@ -268,7 +268,8 @@ let mkSrcAttrs = srcCfg: with srcCfg; { enabled = onOff enable; - mbuffer = with mbuffer; if enable then "${pkgs.mbuffer}/bin/mbuffer" + # mbuffer is not referenced by its full path to accomodate non-NixOS systems or differing mbuffer versions between source and target + mbuffer = with mbuffer; if enable then "mbuffer" + optionalString (port != null) ":${toString port}" else "off"; mbuffer_size = mbuffer.size; post_znap_cmd = nullOff postsnap;