summary refs log tree commit diff
path: root/pkgs/tools/backup/lvmsync/default.nix
blob: 75962c98f8b6438aef199ef5f122a5b6050b5c89 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ stdenv, bundlerEnv, ruby, bundlerUpdateScript, makeWrapper }:

stdenv.mkDerivation rec {
  pname = "lvmsync";
  version = (import ./gemset.nix).${pname}.version;

  buildInputs = [ makeWrapper ];

  phases = ["installPhase"];

  installPhase = let
    env = bundlerEnv {
      name = "${pname}-${version}-gems";
      ruby = ruby;
      gemfile  = ./Gemfile;
      lockfile = ./Gemfile.lock;
      gemset   = ./gemset.nix;
    };
  in ''
    mkdir -p $out/bin
    makeWrapper ${env}/bin/lvmsync $out/bin/lvmsync
  '';

  passthru.updateScript = bundlerUpdateScript "lvmsync";

  meta = with stdenv.lib; {
    description = "Optimised synchronisation of LVM snapshots over a network";
    homepage = "https://theshed.hezmatt.org/lvmsync/";
    license = licenses.gpl3;
    platforms = platforms.all;
    maintainers = with maintainers; [ jluttine nicknovitski ];
  };

}