* google-cloud-sdk: 150.0.0 -> 151.0.0 - gce/create-gce.sh: rewrite using nix-shell shebang and bash - allows to run the script without being the same directory - nix-shell install google-cloud-sdk - some shellcheck cleanups and scripting best practice - gce/create-gce.sh: do not clobber NIX_PATH: this allows NIX_PATH to be overwritten to build a different release - gce/create-gce.sh: remove legacy hydra option
		
			
				
	
	
		
			24 lines
		
	
	
		
			750 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			750 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env nix-shell
 | 
						|
#! nix-shell -i bash -p google-cloud-sdk
 | 
						|
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
BUCKET_NAME="${BUCKET_NAME:-nixos-images}"
 | 
						|
TIMESTAMP="$(date +%Y%m%d%H%M)"
 | 
						|
export TIMESTAMP
 | 
						|
 | 
						|
nix-build '<nixpkgs/nixos>' \
 | 
						|
   -A config.system.build.googleComputeImage \
 | 
						|
   --arg configuration "{ imports = [ <nixpkgs/nixos/modules/virtualisation/google-compute-image.nix> ]; }" \
 | 
						|
   --argstr system x86_64-linux \
 | 
						|
   -o gce \
 | 
						|
   -j 10
 | 
						|
 | 
						|
img_path=$(echo gce/*.tar.gz)
 | 
						|
img_name=$(basename "$img_path")
 | 
						|
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
 | 
						|
if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
 | 
						|
  gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
 | 
						|
fi
 | 
						|
gcloud compute images create "$img_id" --source-uri "gs://${BUCKET_NAME}/$img_name"
 |