diff options
Diffstat (limited to 'pkgs/tools/backup/borgmatic/default.nix')
-rw-r--r-- | pkgs/tools/backup/borgmatic/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix new file mode 100644 index 00000000000..4913ca29cb8 --- /dev/null +++ b/pkgs/tools/backup/borgmatic/default.nix @@ -0,0 +1,50 @@ +{ borgbackup, coreutils, lib, python3Packages, systemd }: + +python3Packages.buildPythonApplication rec { + pname = "borgmatic"; + version = "1.5.12"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "sha256-XLbBJvNRmH8W9SnOjF7zUbazRYFCMW6SEO2wKN/2VTY="; + }; + + checkInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ]; + + # - test_borgmatic_version_matches_news_version + # The file NEWS not available on the pypi source, and this test is useless + # - test_collect_configuration_run_summary_logs_outputs_merged_json_results + # Upstream fixed in the next version, see + # https://github.com/witten/borgmatic/commit/ea6cd53067435365a96786b006aec391714501c4 + disabledTests = [ + "test_borgmatic_version_matches_news_version" + "test_collect_configuration_run_summary_logs_outputs_merged_json_results" + ]; + + propagatedBuildInputs = with python3Packages; [ + borgbackup + colorama + pykwalify + ruamel_yaml + requests + setuptools + ]; + + postInstall = '' + mkdir -p $out/lib/systemd/system + cp sample/systemd/borgmatic.timer $out/lib/systemd/system/ + substitute sample/systemd/borgmatic.service \ + $out/lib/systemd/system/borgmatic.service \ + --replace /root/.local/bin/borgmatic $out/bin/borgmatic \ + --replace systemd-inhibit ${systemd}/bin/systemd-inhibit \ + --replace sleep ${coreutils}/bin/sleep + ''; + + meta = with lib; { + description = "Simple, configuration-driven backup software for servers and workstations"; + homepage = "https://torsion.org/borgmatic/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ imlonghao ]; + }; +} |