1 {stdenv, lib, fetchFromGitHub, makeWrapper, gettext,
2 python3, rsync, cron, openssh, sshfs-fuse, encfs }:
5 python' = python3.withPackages (ps: with ps; [ dbus-python keyring packaging ]);
7 apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
8 in stdenv.mkDerivation rec {
9 pname = "backintime-common";
12 src = fetchFromGitHub {
16 sha256 = "sha256-yfCSTzCmhXDBC1vYqwgVjsYUtc5VO1VW74BmIB0hHfE=";
19 nativeBuildInputs = [ makeWrapper gettext ];
20 buildInputs = [ python' ];
22 installFlags = [ "DEST=$(out)" ];
24 configureFlags = [ "--python=${lib.getExe python'}" ];
27 patchShebangs --build updateversion.sh
29 substituteInPlace configure \
30 --replace-fail "/.." "" \
31 --replace-fail "share/backintime" "${python'.sitePackages}/backintime"
32 substituteInPlace "backintime" "backintime-askpass" \
33 --replace-fail "share" "${python'.sitePackages}"
39 wrapProgram "$out/bin/backintime" \
40 --prefix PATH : ${apps}
44 homepage = "https://github.com/bit-team/backintime";
45 description = "Simple backup tool for Linux";
46 license = lib.licenses.gpl2;
47 maintainers = with lib.maintainers; [ stephen-huan ];
48 platforms = lib.platforms.linux;
49 mainProgram = "backintime";
51 Back In Time is a simple backup tool (on top of rsync) for Linux
52 inspired from "flyback project" and "TimeVault". The backup is
53 done by taking snapshots of a specified set of directories.