summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/misc/usync/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/applications/misc/usync/default.nix b/pkgs/applications/misc/usync/default.nix
new file mode 100644
index 00000000000..d12120ca2f1
--- /dev/null
+++ b/pkgs/applications/misc/usync/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, scsh, rsync, unison }:
+
+stdenv.mkDerivation rec {
+  pname = "usync";
+  version = "0.0.3";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ebzzry";
+    repo = pname;
+    rev = "9c87ea8a707a47c3d7f6ef94d07591c5ab594282";
+    sha256 = "1r05gw041fz9dkkb70zd6kqw9dd8dhpv87407qxqg43pd7x47kf4";
+  };
+
+  installPhase = ''
+    install -m 555 -Dt $out/bin $pname
+  '';
+
+  postFixup = ''
+    substituteInPlace $out/bin/$pname --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
+    substituteInPlace $out/bin/$pname --replace "(rsync " "(${rsync}/bin/rsync "
+    substituteInPlace $out/bin/$pname --replace "(unison " "(${unison}/bin/unison "
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ebzzry/usync;
+    description = "A simple site-to-site synchronization tool";
+    license = licenses.mit;
+    maintainers = [ maintainers.ebzzry ];
+    platforms = platforms.unix;
+  };
+
+  dontBuild = true;
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 31cc09c62f1..c140d01435b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4808,6 +4808,8 @@ with pkgs;
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
 
+  usync = callPackage ../applications/misc/usync { };
+
   uwsgi = callPackage ../servers/uwsgi {
     plugins = [];
     withPAM = stdenv.isLinux;