{ lib, buildGoModule, fetchFromGitHub, installShellFiles, versionCheckHook, }: buildGoModule rec { pname = "talosctl"; version = "1.10.4"; src = fetchFromGitHub { owner = "siderolabs"; repo = "talos"; tag = "v${version}"; hash = "sha256-TWaORaR+3PTc+KqWuZiR5HpsuY7ox5BjQ72F8uYRzWQ="; }; vendorHash = "sha256-SDSWWhj3MTuNASZOujKz2M3glO1dhg0cS2pdfeZXyPk="; ldflags = [ "-s" "-w" ]; env.GOWORK = "off"; subPackages = [ "cmd/talosctl" ]; nativeBuildInputs = [ installShellFiles ]; postInstall = '' installShellCompletion --cmd talosctl \ --bash <($out/bin/talosctl completion bash) \ --fish <($out/bin/talosctl completion fish) \ --zsh <($out/bin/talosctl completion zsh) ''; doCheck = false; # no tests doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "version"; meta = with lib; { description = "CLI for out-of-band management of Kubernetes nodes created by Talos"; mainProgram = "talosctl"; homepage = "https://www.talos.dev/"; license = licenses.mpl20; maintainers = with maintainers; [ flokli ]; }; }