diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix index e9202205ea9a..8613abd99470 100644 --- a/pkgs/applications/networking/cluster/talosctl/default.nix +++ b/pkgs/applications/networking/cluster/talosctl/default.nix @@ -1,19 +1,24 @@ -{ lib, buildGoModule, fetchFromGitHub }: - +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +let + # look for GO_LDFLAGS getting set in the Makefile + version = "0.14.2"; + sha256 = "sha256-sQtry94T5cDO+836D/p/8ptQi3WYKDBLr1QZyEXdLQI="; + vendorSha256 = "sha256-cd2iNMxWmkSWqqkPLYocUG+fCUXoeUXEuGQxjUWQnXk="; + pkgsVersion = "0.9.0-4-gc875fbe"; + extrasVersion = "0.7.0-2-gb4c9d21"; +in buildGoModule rec { pname = "talosctl"; - version = "0.14.1"; + inherit version vendorSha256; + # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "talos-systems"; repo = "talos"; rev = "v${version}"; - sha256 = "sha256-JeZ+Q6LTDJtoxfu4mJNc3wv3Y6OPcIUvgnozj9mWwLw="; + inherit sha256; }; - vendorSha256 = "sha256-ujbEWvcNJJOUegVgAGEPwYF02TiqD1lZELvqc/Gmb4A="; - - # look for GO_LDFLAGS getting set in the Makefile ldflags = let versionPkg = "github.com/talos-systems/talos/pkg/version"; # VERSION_PKG @@ -24,8 +29,8 @@ buildGoModule rec { "-X ${versionPkg}.Name=Talos" "-X ${versionPkg}.SHA=${src.rev}" # should be the hash, but as we build from tags, this needs to do "-X ${versionPkg}.Tag=${src.rev}" - "-X ${versionPkg}.PkgsVersion=v0.9.0-2-g447ce75" # PKGS - "-X ${versionPkg}.ExtrasVersion=v0.7.0-1-gd6b73a7" # EXTRAS + "-X ${versionPkg}.PkgsVersion=v${pkgsVersion}" # PKGS + "-X ${versionPkg}.ExtrasVersion=v${extrasVersion}" # EXTRAS "-X ${imagesPkgs}.Username=talos-systems" # USERNAME "-X ${imagesPkgs}.Registry=ghcr.io" # REGISTRY "-X ${mgmtHelpersPkg}.ArtifactsPath=_out" # ARTIFACTS @@ -33,6 +38,15 @@ buildGoModule rec { 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; meta = with lib; {