diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix index edd19a25f9ba..342fd9e686a2 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/default.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix @@ -2,10 +2,12 @@ { - helm-diff = callPackage ./helm-diff.nix {}; + helm-diff = callPackage ./helm-diff.nix { }; - helm-s3 = callPackage ./helm-s3.nix {}; + helm-git = callPackage ./helm-git.nix { }; - helm-secrets = callPackage ./helm-secrets.nix {}; + helm-s3 = callPackage ./helm-s3.nix { }; + + helm-secrets = callPackage ./helm-secrets.nix { }; } diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix new file mode 100644 index 000000000000..05ded10444ba --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchFromGitHub +, coreutils +, findutils +, git +, gnugrep +, gnused +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "helm-git"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "aslafy-z"; + repo = pname; + rev = "v${version}"; + sha256 = "0hvycqibmlw2zw3nm8rn73v5x1zcgm2jrfdlljbvc1n4n5vnzdrg"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + # NOTE: helm-git is comprised of shell scripts. + dontBuild = true; + + installPhase = '' + install -dm755 $out/helm-git + install -m644 -Dt $out/helm-git plugin.yaml + cp helm-git helm-git-plugin.sh $out/helm-git/ + + patchShebangs $out/helm-git/helm-git{,-plugin.sh} + wrapProgram $out/helm-git/helm-git \ + --prefix PATH : ${lib.makeBinPath [ coreutils findutils git gnugrep gnused ]} + + runHook postInstall + ''; + + meta = with lib; { + description = "The Helm downloader plugin that provides GIT protocol support"; + inherit (src.meta) homepage; + license = licenses.mit; + maintainers = with maintainers; [ flokli ]; + }; +}