anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / cluster / timoni / default.nix
blob26be204a06f3409f1479a1284e7b6ea5d6c580a2
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , installShellFiles
5 }:
7 buildGoModule rec {
8   pname = "timoni";
9   version = "0.22.1";
11   src = fetchFromGitHub {
12     owner = "stefanprodan";
13     repo = "timoni";
14     rev = "v${version}";
15     hash = "sha256-bztaG+agcByiIFR4vp0QCDzL9AvLJoZRyMjwSggtwio=";
16   };
18   vendorHash = "sha256-VHR5eQWC5e45ZcpCunrUPdvFKMETRZxHLZnl7FbyFcI=";
20   subPackages = [ "cmd/timoni" ];
21   nativeBuildInputs = [ installShellFiles ];
23   # Some tests require running Kubernetes instance
24   doCheck = false;
26   passthru.updateScript = ./update.sh;
28   ldflags = [
29     "-s"
30     "-w"
31     "-X main.VERSION=${version}"
32   ];
34   postInstall = ''
35     installShellCompletion --cmd timoni \
36     --bash <($out/bin/timoni completion bash) \
37     --fish <($out/bin/timoni completion fish) \
38     --zsh <($out/bin/timoni completion zsh)
39   '';
41   meta = with lib; {
42     homepage = "https://timoni.sh";
43     changelog = "https://github.com/stefanprodan/timoni/releases/tag/${src.rev}";
44     description = "Package manager for Kubernetes, powered by CUE and inspired by Helm";
45     mainProgram = "timoni";
46     license = licenses.asl20;
47     maintainers = with maintainers; [ votava ];
48   };