Jump to content

Google Cloud SDK: Difference between revisions

From NixOS Wiki
imported>MichaelCTS
Add information on how to use google cloud with extra components
 
Pigs (talk | contribs)
m Add category cloud
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
== Components ==
== Components ==


Since the installation of {{ic| gcloud }} is managed by nix, it won't be possible to install them using {{ic| gcloud components install ...}}. Use this snippet to create a pseudo-package with your components in them <ref name="discourseWithExtraComponents />:
Since the installation of {{ic| gcloud}} is managed by nix, it won't be possible to install them using {{ic| gcloud components install ...}}. Use this snippet to create a pseudo-package with your components in them <ref name="discourseWithExtraComponents />:


<syntaxhighlight lang=nix>
<syntaxhighlight lang=nix>
let
let
   gdk = pkgs.google-cloud-sdk.withExtraComponents( with pkgs.google-cloud-sdk.components [
   gdk = pkgs.google-cloud-sdk.withExtraComponents( with pkgs.google-cloud-sdk.components; [
     gke-gcloud-auth-plugin
     gke-gcloud-auth-plugin
   ]);
   ]);
Line 19: Line 19:
}
}
</syntaxhighlight>
</syntaxhighlight>


== References ==
== References ==
Line 25: Line 24:
<ref name="discourseWithExtraComponents">[https://discourse.nixos.org/t/google-cloud-sdk-and-installing-extra-components/10319/9 discourse topic] </ref>
<ref name="discourseWithExtraComponents">[https://discourse.nixos.org/t/google-cloud-sdk-and-installing-extra-components/10319/9 discourse topic] </ref>
</references>
</references>
[[Category:Cloud]]

Latest revision as of 17:46, 18 May 2025

It it possible to install gcloud and its components using nix. There are two major packages to do so: google-cloud-sdk and google-cloud-sdk-gce , with that later being a version that is optimised to run on Google Cloud itself.


Components

Since the installation of gcloud is managed by nix, it won't be possible to install them using gcloud components install .... Use this snippet to create a pseudo-package with your components in them [1]:

let
  gdk = pkgs.google-cloud-sdk.withExtraComponents( with pkgs.google-cloud-sdk.components; [
    gke-gcloud-auth-plugin
  ]);
in
{
  packages = [
    gdk
  ];
}

References