{ lib, buildGoModule, fetchFromGitLab, installShellFiles, stdenv }: buildGoModule rec { pname = "glab"; version = "1.23.0"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "cli"; rev = "v${version}"; sha256 = "sha256-NHBLaUEWurWnwbLiEsi3/pHqxKcgjjx+oRAGZXxni/Q="; }; vendorSha256 = "sha256-NuK63ibb1t+HnSR/gCFS7HWVtfGLazVx2M+qxRNCR1I="; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; preCheck = '' # failed to read configuration: mkdir /homeless-shelter: permission denied export HOME=$TMPDIR ''; subPackages = [ "cmd/glab" ]; nativeBuildInputs = [ installShellFiles ]; postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' installShellCompletion --cmd glab \ --bash <($out/bin/glab completion -s bash) \ --fish <($out/bin/glab completion -s fish) \ --zsh <($out/bin/glab completion -s zsh) ''; meta = with lib; { description = "GitLab CLI tool bringing GitLab to your command line"; license = licenses.mit; homepage = "https://gitlab.com/gitlab-org/cli"; maintainers = with maintainers; [ freezeboy ]; }; }