56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
|
{
|
||
|
lib,
|
||
|
buildGoModule,
|
||
|
fetchFromGitHub,
|
||
|
installShellFiles,
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
pname = "openfga-cli";
|
||
|
version = "0.4.0";
|
||
|
in
|
||
|
|
||
|
buildGoModule {
|
||
|
inherit pname version;
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "openfga";
|
||
|
repo = "cli";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-nwzUBzu8c8kuSTbjwOB1mCFMLF1zoUReXofXeBOAO1U=";
|
||
|
};
|
||
|
|
||
|
vendorHash = "sha256-3fElvsy248lRwmIKWv8ac6BLJ1y5Qyr+kKh/1vprmvo=";
|
||
|
|
||
|
nativeBuildInputs = [ installShellFiles ];
|
||
|
|
||
|
ldflags =
|
||
|
let
|
||
|
buildInfoPkg = "github.com/openfga/cli/internal/build";
|
||
|
in
|
||
|
[
|
||
|
"-s"
|
||
|
"-w"
|
||
|
"-X ${buildInfoPkg}.Version=${version}"
|
||
|
"-X ${buildInfoPkg}.Commit=${version}"
|
||
|
"-X ${buildInfoPkg}.Date=19700101"
|
||
|
];
|
||
|
|
||
|
postInstall = ''
|
||
|
completions_dir=$TMPDIR/fga_completions
|
||
|
mkdir $completions_dir
|
||
|
$out/bin/fga completion bash > $completions_dir/fga.bash
|
||
|
$out/bin/fga completion zsh > $completions_dir/_fga.zsh
|
||
|
$out/bin/fga completion fish > $completions_dir/fga.fish
|
||
|
installShellCompletion $completions_dir/*
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "A cross-platform CLI to interact with an OpenFGA server";
|
||
|
homepage = "https://github.com/openfga/cli";
|
||
|
license = lib.licenses.asl20;
|
||
|
mainProgram = "fga";
|
||
|
maintainers = with lib.maintainers; [ jlesquembre ];
|
||
|
};
|
||
|
}
|