1{
2 lib,
3 fetchFromGitHub,
4 buildGoModule,
5 makeBinaryWrapper,
6 delta,
7}:
8
9buildGoModule rec {
10 pname = "diffnav";
11 version = "0.3.1";
12
13 src = fetchFromGitHub {
14 owner = "dlvhdr";
15 repo = "diffnav";
16 rev = "refs/tags/v${version}";
17 hash = "sha256-admPiEKyatdUkR89vZP8RYHTqtZVSJ8KSvtpnsBViBw=";
18 };
19
20 vendorHash = "sha256-2JjQF+fwl8+Xoq9T3jCvngRAOa3935zpi9qbF4w4hEI=";
21
22 ldflags = [
23 "-s"
24 "-w"
25 ];
26
27 nativeBuildInputs = [ makeBinaryWrapper ];
28 postInstall = ''
29 wrapProgram $out/bin/diffnav \
30 --prefix PATH : ${lib.makeBinPath [ delta ]}
31 '';
32
33 meta = {
34 changelog = "https://github.com/dlvhdr/diffnav/releases/tag/${src.rev}";
35 description = "Git diff pager based on delta but with a file tree, à la GitHub";
36 homepage = "https://github.com/dlvhdr/diffnav";
37 license = lib.licenses.mit;
38 maintainers = with lib.maintainers; [ amesgen ];
39 mainProgram = "diffnav";
40 };
41}