{ lib, buildGoModule, fetchFromGitHub, testers, installShellFiles, myks, stdenv, }: buildGoModule rec { pname = "myks"; version = "4.2.5"; src = fetchFromGitHub { owner = "mykso"; repo = "myks"; rev = "refs/tags/v${version}"; hash = "sha256-TKD/WqK6FXJQYUrrjTrisTOgNyBNah9nPij+voguFp4="; }; vendorHash = "sha256-Rlf1H/Jvt4JYCc5kttdi51qU+Yu5gZ87/L5bz8hbGsc="; subPackages = "."; ldflags = [ "-s" "-w" "-X=main.version=${version}" "-X=main.commit=nixpkg-${version}" "-X=main.date=1970-01-01" ]; nativeBuildInputs = [ installShellFiles ]; CGO_ENABLED = 0; passthru.tests.version = testers.testVersion { package = myks; }; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd myks \ --bash <($out/bin/myks completion bash) \ --zsh <($out/bin/myks completion zsh) \ --fish <($out/bin/myks completion fish) ''; meta = with lib; { changelog = "https://github.com/mykso/myks/blob/v${version}/CHANGELOG.md"; description = "Configuration framework for Kubernetes applications"; license = licenses.mit; homepage = "https://github.com/mykso/myks"; maintainers = [ maintainers.kbudde maintainers.zebradil ]; mainProgram = "myks"; }; }