config

NixOS config
Log | Files | Refs | README | LICENSE

default.nix (633B) - Raw


      1 { buildGoModule, pkgs }:
      2 let
      3   gcloud-wrapper = buildGoModule {
      4     name = "gcloud-wrapper";
      5     src = ./.;
      6     vendorHash = null;
      7   };
      8 in
      9 pkgs.symlinkJoin {
     10   name = "google-cloud-sdk-wrapped";
     11   paths = [ pkgs.google-cloud-sdk ];
     12   nativeBuildInputs = [ pkgs.makeWrapper ];
     13   postBuild = ''
     14     # Remove the original gcloud symlink
     15     rm $out/bin/gcloud
     16 
     17     # Create a shell wrapper called gcloud-wrapped that executes the real gcloud
     18     makeWrapper ${pkgs.google-cloud-sdk}/bin/gcloud $out/bin/gcloud-wrapped
     19 
     20     # Replace gcloud with our caching wrapper
     21     ln -s ${gcloud-wrapper}/bin/gcloud-wrapper $out/bin/gcloud
     22   '';
     23 }