nixos/fileSystems: link to mount(8) from fileSystems.*.options (#377170)
[NixPkgs.git] / pkgs / by-name / op / openfga-cli / package.nix
blob2a23f0baff7d40577089d6fe905454897799ec29
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   installShellFiles,
6 }:
8 let
9   pname = "openfga-cli";
10   version = "0.6.3";
13 buildGoModule {
14   inherit pname version;
16   src = fetchFromGitHub {
17     owner = "openfga";
18     repo = "cli";
19     rev = "v${version}";
20     hash = "sha256-PHUXwDZta+utlUkkb4XRnhTgFlwMgOTD1/iboP+LMqY=";
21   };
23   vendorHash = "sha256-hTt9Ut7+4LX+4SqC64feRGm6gLmrKswYt/XNqpTlQzo=";
25   nativeBuildInputs = [ installShellFiles ];
27   ldflags =
28     let
29       buildInfoPkg = "github.com/openfga/cli/internal/build";
30     in
31     [
32       "-s"
33       "-w"
34       "-X ${buildInfoPkg}.Version=${version}"
35       "-X ${buildInfoPkg}.Commit=${version}"
36       "-X ${buildInfoPkg}.Date=19700101"
37     ];
39   postInstall = ''
40     completions_dir=$TMPDIR/fga_completions
41     mkdir $completions_dir
42     $out/bin/fga completion bash > $completions_dir/fga.bash
43     $out/bin/fga completion zsh > $completions_dir/_fga.zsh
44     $out/bin/fga completion fish > $completions_dir/fga.fish
45     installShellCompletion $completions_dir/*
46   '';
48   meta = {
49     description = "Cross-platform CLI to interact with an OpenFGA server";
50     homepage = "https://github.com/openfga/cli";
51     license = lib.licenses.asl20;
52     mainProgram = "fga";
53     maintainers = with lib.maintainers; [ jlesquembre ];
54   };