{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "fluxctl"; version = "1.21.2"; src = fetchFromGitHub { owner = "weaveworks"; repo = "flux"; rev = version; sha256 = "sha256-pI/LGAjTWFXiDKSV+dZl0wXK/TZmN9DuWf5Nu8EYNYc="; }; vendorSha256 = "sha256-Q8gIhJSZqdjBXrIcJfCd25BniDScwVzUwZ9Vc8p/z3c="; nativeBuildInputs = [ installShellFiles ]; doCheck = false; subPackages = [ "cmd/fluxctl" ]; buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ]; postInstall = '' for shell in bash fish zsh; do $out/bin/fluxctl completion $shell > fluxctl.$shell installShellCompletion fluxctl.$shell done ''; meta = with lib; { description = "CLI client for Flux, the GitOps Kubernetes operator"; homepage = "https://github.com/fluxcd/flux"; license = licenses.asl20; maintainers = with maintainers; [ Gonzih Br1ght0ne ]; }; }