depot/third_party/nixpkgs/pkgs/tools/filesystems/httm/default.nix

51 lines
1.1 KiB
Nix
Raw Normal View History

{ lib
, rustPlatform
, fetchFromGitHub
, installShellFiles
}:
rustPlatform.buildRustPackage rec {
pname = "httm";
version = "0.38.1";
src = fetchFromGitHub {
owner = "kimono-koans";
repo = pname;
rev = version;
hash = "sha256-aCWhjMXLNx5/wV1HFDtyUuUfpRAxDZhI/Bk7roqZkJ8=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = [ installShellFiles ];
postPatch = ''
chmod +x scripts/*.bash
patchShebangs scripts/*.bash
'';
postInstall = ''
installManPage httm.1
installShellCompletion --cmd httm \
--zsh scripts/httm-key-bindings.zsh
for script in scripts/*.bash; do
install -Dm755 "$script" "$out/bin/$(basename "$script" .bash)"
done
install -Dm644 README.md $out/share/doc/README.md
'';
meta = with lib; {
description = "Interactive, file-level Time Machine-like tool for ZFS/btrfs";
homepage = "https://github.com/kimono-koans/httm";
changelog = "https://github.com/kimono-koans/httm/releases/tag/${version}";
license = licenses.mpl20;
maintainers = with maintainers; [ wyndon ];
mainProgram = "httm";
};
}