1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 installShellFiles,
6}:
7
8buildGoModule rec {
9 pname = "terraform-backend-git";
10 version = "0.1.8";
11
12 src = fetchFromGitHub {
13 owner = "plumber-cd";
14 repo = "terraform-backend-git";
15 rev = "v${version}";
16 hash = "sha256-mZbGMv5b9wK/gWqQB75sDJIVURrS6t/L7WBhTonaatQ=";
17 };
18
19 vendorHash = "sha256-vFx59dIdniLRP0xHcD3c22GidZOPdGZvmvg/BvxFBGI=";
20
21 nativeBuildInputs = [
22 installShellFiles
23 ];
24
25 ldflags = [
26 "-s"
27 "-w"
28 "-X=github.com/plumber-cd/terraform-backend-git/cmd.Version=${version}"
29 ];
30
31 postInstall = ''
32 installShellCompletion --cmd terraform-backend-git \
33 --bash <($out/bin/terraform-backend-git completion bash) \
34 --fish <($out/bin/terraform-backend-git completion fish) \
35 --zsh <($out/bin/terraform-backend-git completion zsh)
36 '';
37
38 meta = with lib; {
39 description = "Terraform HTTP Backend implementation that uses Git repository as storage";
40 mainProgram = "terraform-backend-git";
41 homepage = "https://github.com/plumber-cd/terraform-backend-git";
42 changelog = "https://github.com/plumber-cd/terraform-backend-git/blob/${src.rev}/CHANGELOG.md";
43 license = licenses.asl20;
44 maintainers = with maintainers; [ ];
45 };
46}