Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 55 lines 1.3 kB view raw
1{ 2 lib, 3 buildGoModule, 4 fetchFromGitHub, 5 installShellFiles, 6}: 7 8let 9 pname = "openfga-cli"; 10 version = "0.7.2"; 11in 12 13buildGoModule { 14 inherit pname version; 15 16 src = fetchFromGitHub { 17 owner = "openfga"; 18 repo = "cli"; 19 rev = "v${version}"; 20 hash = "sha256-k/YDomfOn658j4XZKPV9BZZSQBnJdNJOUF6SONmESqY="; 21 }; 22 23 vendorHash = "sha256-v9zzPl80TsOfYfc764aVpuflj7I4eZOa9PTCjX7dL/4="; 24 25 nativeBuildInputs = [ installShellFiles ]; 26 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 ]; 38 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 ''; 47 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 }; 55}