This commit is contained in:
didier committed 2024-10-27 08:49:38 -04:00
1 parent 7a249c596a
commit dbdd9034c9
5 files changed
+34 -11

No files matched your search

+24 -7
View File
@@ -1,10 +1,27 @@
# Nixos on GCP # Nixos on Google Cloud
## Building image
To build the gpc image use the below command
```shell
nix build .#gcp
```
Once the image has been built,
```shell
python upload.py --file result/nixos-image-...
```
### GCE shit
#### Metadata
``` ```
img_path=$(echo result/*.tar.gz) enable-oslogin: TRUE
img_name=${IMAGE_NAME:-$(basename "$img_path")}
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
img_family=$(echo "$img_id" | cut -d - -f1-4)
gcloud compute images create "$img_id" --source-uri "gs://${BUCKET_NAME}/$img_name" --family="$img_family"
gcloud compute images add-iam-policy-binding "$img_id" --member='allAuthenticatedUsers' --role='roles/compute.imageUser'
``` ```
+1 -1
View File
@@ -18,7 +18,7 @@
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ ./gcp-configuration.nix ]; modules = [ ./gcp-configuration.nix ];
format = "gce"; format = "vm";
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
lib = nixpkgs.legacyPackages.x86_64-linux.lib; lib = nixpkgs.legacyPackages.x86_64-linux.lib;
+7
View File
@@ -4,6 +4,7 @@
config = { config = {
system.stateVersion = "23.11"; system.stateVersion = "23.11";
boot.kernel.sysctl."net.ipv4.ip_forward" = true; boot.kernel.sysctl."net.ipv4.ip_forward" = true;
networking.hostName = "trainer-0001";
networking.nameservers = [ "8.8.8.8" ]; networking.nameservers = [ "8.8.8.8" ];
@@ -27,6 +28,8 @@
}; };
}; };
users.defaultUserShell = pkgs.zsh;
users.extraUsers.didier = { users.extraUsers.didier = {
createHome = true; createHome = true;
isNormalUser = true; isNormalUser = true;
@@ -35,6 +38,8 @@
group = "users"; group = "users";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
useDefaultShell = true; useDefaultShell = true;
hashedPassword =
"$6$tFmX1GFwslsmHJ6A$9O7jYzbo6hV2/ed39Y.ynhqoQbsPAiqTW5HR1CvnubWBysaOljPtUHlnqaPbvEkxdjUwuqHwhhvWIvsHsSMmF1";
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtqtELim0nDxVG0j/IJc/ZcWYfFBCay8fVIw/16ieDy didier.amyot@all-dressed-programming.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtqtELim0nDxVG0j/IJc/ZcWYfFBCay8fVIw/16ieDy didier.amyot@all-dressed-programming.com"
]; ];
@@ -54,5 +59,7 @@
services.openssh.settings.PasswordAuthentication = false; services.openssh.settings.PasswordAuthentication = false;
programs.zsh.enable = true;
}; };
} }
BIN
View File
Binary file not shown.
+2 -3
View File
@@ -29,15 +29,14 @@ def main(file, bucket_name):
cmd = [ cmd = [
'gsutil', 'cp', file, s3_loc 'gsutil', 'cp', file, s3_loc
] ]
check_call(cmd) print(" ".join([str(s) for s in cmd]))
# return
cmd = [ cmd = [
'gcloud', 'compute','images','create', img_id, 'gcloud', 'compute','images','create', img_id,
'--source-uri', s3_loc, '--family', img_family '--source-uri', s3_loc, '--family', img_family
] ]
# check_call(cmd) # check_call(cmd)
# print(' '.join(cmd))
# return
cmd = [ cmd = [
'gcloud', 'compute', 'images', 'add-iam-policy-binding', 'gcloud', 'compute', 'images', 'add-iam-policy-binding',