about summary refs log tree commit diff
path: root/pkgs/by-name/nu/nuv/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/nu/nuv/package.nix')
-rw-r--r--pkgs/by-name/nu/nuv/package.nix75
1 files changed, 75 insertions, 0 deletions
diff --git a/pkgs/by-name/nu/nuv/package.nix b/pkgs/by-name/nu/nuv/package.nix
new file mode 100644
index 0000000000000..30ca0bfecfee4
--- /dev/null
+++ b/pkgs/by-name/nu/nuv/package.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, symlinkJoin
+, callPackage
+, fetchFromGitHub
+, fetchurl
+, buildGoModule
+, makeWrapper
+, breakpointHook
+, jq
+, curl
+, kubectl
+, eksctl
+, kind
+, k3sup
+, coreutils
+}:
+
+let
+  branch = "3.0.0";
+  version = "3.0.1-beta.2405292059";
+  pname = "nuv";
+in
+buildGoModule {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "nuvolaris";
+    repo = "nuv";
+    rev = version;
+    hash = "sha256-MdnBvlA4S2Mi/bcbE+O02x+wvlIrsK1Zc0dySz4FB/w=";
+  };
+
+  subPackages = [ "." ];
+  vendorHash = "sha256-JkQbQ2NEaumXbAfsv0fNiQf/EwMs3SDLHvu7c/bU7fU=";
+
+  nativeBuildInputs = [ makeWrapper jq curl breakpointHook ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.NuvVersion=${version}"
+    "-X main.NuvBranch=${branch}"
+  ];
+
+  # false because tests require some modifications inside nix-env
+  doCheck = false;
+
+  postInstall = let
+    nuv-bin = symlinkJoin {
+      name = "nuv-bin";
+      paths = [
+        coreutils
+        kubectl
+        eksctl
+        kind
+        k3sup
+      ];
+    };
+  in ''
+    wrapProgram $out/bin/nuv --set NUV_BIN "${nuv-bin}/bin"
+  '';
+
+  passthru.tests = {
+    simple = callPackage ./tests.nix { inherit version; };
+  };
+
+  meta = {
+    homepage = "https://nuvolaris.io/";
+    description = "A CLI tool for running tasks using the Nuvolaris serverless engine";
+    license = lib.licenses.asl20;
+    mainProgram = "nuv";
+    maintainers = with lib.maintainers; [ msciabarra d4rkstar ];
+  };
+}