# All-encompassing environment for cloud platform management. I'm using only
# one so far but apparently these providers have some tool to enable easy
# access and usage for their platform.
#
# The reason why we have these with a light sandbox is for more sophiscated
# tools like in Google Cloud SDK.
{ buildFHSUserEnv }:

(buildFHSUserEnv {
  name = "cloud-admin-env";
  targetPkgs = pkgs:
    (with pkgs; [
      awscli2 # For Amazon Web Services.
      azure-cli # For Microsoft Azure.

      # For Google Cloud Platform.
      (google-cloud-sdk.withExtraComponents (with google-cloud-sdk.components; [
        gke-gcloud-auth-plugin
        gcloud-man-pages
        cloud-run-proxy
      ]))

      kubectl # For managing Kubernetes cluster if it is on one.
      hcloud # For Hetzner Cloud.
      linode-cli # For Linode.
      vultr-cli # For Vultr.

      # It's here since Google Cloud SDK needs it.
      python3

      opentofu # The declarative thingy for cloud.
    ]);
}).env
