12 gitSrc = fetchFromGitHub {
15 rev = "refs/tags/v${version}";
16 hash = "sha256-X9XXQ/Ke3toXLIkSCzGrypd1lKDfslpJ96zmDHBDbl8=";
18 web-bundle = buildNpmPackage rec {
20 pname = "glasskube-web-bundle";
24 npmDepsHash = "sha256-9BicZfnrJEFrtaJ0uGmLnnY99KplnL8qdmG5FMo70uI=";
26 dontNpmInstall = true;
32 mv internal/web/root/static/bundle $out
38 in buildGo123Module rec {
44 vendorHash = "sha256-xpN/5VmRPFQegP+ORpb875N/+AKgxiqyZWk4Px+SCZ4=";
51 "-X github.com/glasskube/glasskube/internal/config.Version=${version}"
52 "-X github.com/glasskube/glasskube/internal/config.Commit=${src.rev}"
55 subPackages = [ "cmd/glasskube" "cmd/package-operator" ];
57 nativeBuildInputs = [ installShellFiles ];
58 nativeCheckInputs = [ versionCheckHook ];
59 doInstallCheck = true;
62 cp -r ${web-bundle}/bundle internal/web/root/static/bundle
67 installShellCompletion --cmd glasskube \
68 --bash <($out/bin/glasskube completion bash) \
69 --fish <($out/bin/glasskube completion fish) \
70 --zsh <($out/bin/glasskube completion zsh)
73 passthru.updateScript = nix-update-script { };
77 "The missing Package Manager for Kubernetes featuring a GUI and a CLI";
78 homepage = "https://github.com/glasskube/glasskube";
80 "https://github.com/glasskube/glasskube/releases/tag/v${version}";
81 maintainers = with maintainers; [ jakuzure ];
82 license = licenses.asl20;
83 mainProgram = "glasskube";