diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix new file mode 100644 index 000000000000..f33bc31e683f --- /dev/null +++ b/pkgs/by-name/te/tenv/package.nix @@ -0,0 +1,46 @@ +{ buildGoModule, fetchFromGitHub, installShellFiles, lib, tenv, testers }: + +buildGoModule rec { + pname = "tenv"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "tofuutils"; + repo = "tenv"; + rev = "v${version}"; + hash = "sha256-yLNdBwKF6Jts661P+YZhFGNr71TG7Scb6RGvFxTLqYQ="; + }; + + vendorHash = "sha256-GGWiP1rIDF6qxST2ZmnKNkgbS+15hxaCs1d1+UEiYgU="; + + # Tests disabled for requiring network access to release.hashicorp.com + doCheck = false; + + ldflags = [ + "-s" "-w" + "-X main.version=v${version}" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd tenv \ + --zsh <($out/bin/tenv completion zsh) \ + --bash <($out/bin/tenv completion bash) \ + --fish <($out/bin/tenv completion fish) + ''; + + passthru.tests.version = testers.testVersion { + command = "HOME=$TMPDIR tenv --version"; + package = tenv; + version = "v${version}"; + }; + + meta = { + changelog = "https://github.com/tofuutils/tenv/releases/tag/v${version}"; + description = "A version manager for OpenTofu, Terraform and Terragrunt written in Go"; + homepage = "https://github.com/tofuutils/tenv"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ rmgpinto ]; + }; +}