diff --git a/pkgs/applications/networking/cluster/k0sctl/default.nix b/pkgs/applications/networking/cluster/k0sctl/default.nix index 256d7e64225..b30a7174902 100644 --- a/pkgs/applications/networking/cluster/k0sctl/default.nix +++ b/pkgs/applications/networking/cluster/k0sctl/default.nix @@ -1,20 +1,29 @@ { lib , buildGoModule , fetchFromGitHub +, fetchpatch +, installShellFiles }: buildGoModule rec { pname = "k0sctl"; - version = "0.11.4"; + version = "0.12.6"; src = fetchFromGitHub { owner = "k0sproject"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Fk1aYSa3LqzxiHtlzH5pcNtodOprjfnCFh4UMqCa6Rc="; + sha256 = "sha256-TkkMO6xBHY5t5Rpd0ieSDXMrnQ+Xdq+65Rk93ZkYcUs="; }; - vendorSha256 = "sha256-21C6wZ8lKQnbUg3aD0ZFVOgopblXyWk4WP/ubZVk3Yk="; + vendorSha256 = "sha256-nTAuvHcsJiW0XYX5GM1SL8cnOhwdrj6iw8tuAkEWNzQ="; + + patches = [ + (fetchpatch { + url = "https://github.com/k0sproject/${pname}/commit/22c694ab0335a1e6146d0d3f939ef79d2c005a3d.patch"; + sha256 = "sha256-Ftq/vbQd5ArdHboDt6NdyuqpFalHVnsQBdpmyDG/t5Q="; + }) + ]; ldflags = [ "-s" @@ -23,6 +32,15 @@ buildGoModule rec { "-X github.com/k0sproject/k0sctl/version.Version=${version}" ]; + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + for shell in bash zsh fish; do + installShellCompletion --cmd ${pname} \ + --$shell <($out/bin/${pname} completion --shell $shell) + done + ''; + meta = with lib; { description = "A bootstrapping and management tool for k0s clusters."; homepage = "https://k0sproject.io/";