1{ lib, fetchFromGitHub, rustPlatform, stdenv, darwin, installShellFiles }:
2
3rustPlatform.buildRustPackage rec {
4 pname = "rustic-rs";
5 version = "0.3.2";
6
7 src = fetchFromGitHub {
8 owner = "rustic-rs";
9 repo = "rustic";
10 rev = "v${version}";
11 hash = "sha256-MGFtJUfPK6IH3w8xe/RZaXS+QDIVS3jFSnf4VYiSLM4=";
12 };
13
14 cargoHash = "sha256-siJrqL7HjUQvcyXpUN5rQWNeQNBc+693N1xTSvlOixI=";
15
16 nativeBuildInputs = [ installShellFiles ];
17
18 buildInputs = lib.optionals stdenv.isDarwin [ darwin.Security ];
19
20 postInstall = ''
21 for shell in {ba,fi,z}sh; do
22 $out/bin/rustic completions $shell > rustic.$shell
23 done
24
25 installShellCompletion rustic.{ba,fi,z}sh
26 '';
27
28 meta = {
29 homepage = "https://github.com/rustic-rs/rustic";
30 changelog = "https://github.com/rustic-rs/rustic/blob/${src.rev}/changelog/${version}.txt";
31 description = "fast, encrypted, deduplicated backups powered by pure Rust";
32 platforms = lib.platforms.linux ++ lib.platforms.darwin;
33 license = [ lib.licenses.mit lib.licenses.asl20 ];
34 maintainers = [ lib.maintainers.nobbz ];
35 };
36}