nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 testers,
6 holos,
7 kubectl,
8 kustomize,
9 kubernetes-helm,
10}:
11buildGoModule rec {
12 pname = "holos";
13 version = "0.104.1";
14
15 src = fetchFromGitHub {
16 owner = "holos-run";
17 repo = "holos";
18 rev = "v${version}";
19 hash = "sha256-4LCNKPf+b7O9DHCmOzaI8clCbmikyAAG+6C3I0aQdMg=";
20 };
21
22 vendorHash = "sha256-FR3H2NS4sEYjGmzIyaUglby98AgDAgbIzl9de8h/cj8=";
23
24 ldflags = [
25 "-w"
26 "-X github.com/holos-run/holos/version.GitDescribe=v${version}"
27 "-X github.com/holos-run/holos/version.GitCommit=${src.rev}"
28 "-X github.com/holos-run/holos/version.GitTreeState=clean"
29 # fix time for deterministic builds
30 "-X github.com/holos-run/holos/version.BuildDate=1970-01-01T00:00:00Z"
31 ];
32
33 subPackages = [ "cmd/holos" ];
34
35 nativeCheckInputs = [
36 kubernetes-helm
37 kubectl
38 kustomize
39 ];
40
41 passthru.tests.version = testers.testVersion {
42 package = holos;
43 command = "holos --version || true";
44 version = "${version}";
45 };
46
47 meta = with lib; {
48 description = "Holos CLI tool";
49 homepage = "https://github.com/holos-run/holos";
50 license = licenses.asl20;
51 maintainers = with maintainers; [ cameronraysmith ];
52 mainProgram = "holos";
53 };
54}