Closed wskeele closed 3 months ago
Thanks @wskeele. This seems to be mainly an issue with the upstream module because it prevents passing a filelist. Instead of fixing this upstream we could rewrite our module to use the include and exclude options provided by the module.
Yes, this is an upstream bug.
As a workaround, you can copy the duplicity module file from nixpkgs, modify it to add --include-filelist
and use it in your config like so:
disabledModules = [ "services/backup/duplicity.nix" ];
imports = [ ./my-copy-of-duplicity.nix ];
@erikarvstedt this has now been fixed upstream: https://github.com/NixOS/nixpkgs/pull/325589
However it seems that nix-bitcoin expects to support stable releases, and so the feature cannot yet be used. I can build using my custom flake against my personal branch of nix-bitcoin, but it breaks the regtests.
Problem
After enabling backups, the duplicity service fails with:
configuration:
Versions
Nixpkgs: unstable, b60ebf54c15553b393d144357375ea956f89e9a9 nix-bitcoin: efd8ea7e029f4d279d828b09f817d4d77725ee6d duplicity: duplicity 2.2.3 March 20, 2024
Investigation
It isn't clear to me whether this is something that can be worked around here, or must be fixed upstream.
On investigating, I noticed the following:
Duplicity manpage
Duplicity manpage and help files don't seem to mention that this flag is not applicable to the 'cleanup' command
duplicity-start
Nixos duplicity module generates duplicity-start script containing:
The extraFlags option is simply appended to both commands, which is where "--include-filelist" is being added by nix-bitcoin.