Go back

Setup and installation of 'NixOS with GUI' on GCP


This section describes how to provision and connect to ‘NixOS with GUI’ VM solution on GCP.

  1. Open NixOS with GUI listing on GCP Marketplace.

Note: The solution can only be deployed with the instances which support nested virtualization. The N1 series VMs support nested virtualization. Please deploy the solution on N1 instances with 7.5 GB or more RAM . Before you begin please check whether the nested virtualization is enabled for your organization/project by visiting this link.

  1. Click Get Started.

/img/gcp/nixos/marketplace.png

It will ask you to enable the API’s if they are not enabled already for your account. Please click on enable as shown in the screenshot.

/img/gcp/nvidia-ubuntu/enable-api.png

  • It will take you to the agreement page. On this page, you can change the project from the project selector on top navigator bar as shown in the below screenshot.

  • Accept the Terms and agreements by ticking the checkbox and clicking on the AGREE button. /img/common/gcp_agreement_page.png

  • It will show you the successfully agreed popup page. Click on Deploy. /img/common/gcp_agreement_accept_page.png

  • On deployment page, give a name to your deployment.

  • In Deployment Service Account section, click on Existing radio button and Choose a service account from the Select a Service Account dropdown.
  • If you don't see any service account in dropdown, then change the radio button to New Account and create the new service account here.
  • If after selecting New Account option, you get below permission error message then please reach out to your GCP admin to create service account by following Step by step guide to create GCP Service Account and then refresh this deployment page once the service account is created, it should be available in the dropdown.

  • You are missing resourcemanager.projects.setIamPolicy permission, which is needed to set the required roles on the created Service Account
  • Select a zone where you want to launch the VM(such as us-east1-a)
  • Optionally change the number of cores and amount of memory. ( This defaults to 2 vCPUs and 7.5 GB RAM)
  • Optionally change the boot disk type and size. (This defaults to ‘Standard Persistent Disk’ and 40 GB respectively)
  • Optionally change the network name and subnetwork names. Be sure that whichever network you specify has ports 22 (for ssh) and 3389 (for RDP) exposed.
  • At the very bottom make sure to tick Allow full access to all of Google Cloud Platform APIs on the VM checkbox as shown in below screenshot.
  • Click Deploy when you are done.
  • NixOS with GUI will begin deploying.

/img/gcp/nixos/deployed-01.png

/img/gcp/nixos/deployed-02.png

  1. A summary page displays when the compute engine is successfully deployed. Click on the Instance link to go to the instance page .

  2. On the instance page, click on the “SSH” button, select “Open in browser window”.

/img/gcp/jupyter-python-notebook/ssh-option.png

  1. This will open SSH window in a browser.
  2. Run below command to set the password for “ubuntu” user
sudo passwd ubuntu

/img/gcp/jupyter-python-notebook/ssh-passwd.png

  1. Now the password for ubuntu user is set, you can connect to the VM’s desktop environment from any local windows machine using RDP or linux machine using Remmina.

  2. To connect using RDP via Windows machine, first note the external IP of the VM from VM details page as highlighted below

/img/gcp/jupyter-python-notebook/external-ip.png

  1. Then From your local windows machine, goto “start” menu, in the search box type and select “Remote desktop connection”

  2. In the “Remote Desktop connection” wizard, paste the external ip and click connect

/img/gcp/jupyter-python-notebook/rdp.png

  1. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in step 6 to authenticate. Click OK

/img/gcp/jupyter-python-notebook/rdp-login.png

  1. Now you are connected to out of box NixOS with GUI VM’s desktop environment via Windows machines.

/img/azure/nixos/rdp-desktop.png

  1. To connect using RDP via Linux machine, first note the external IP of the VM from VM details page, then from your local Linux machine, goto menu, in the search box type and select “Remmina”.

    Note: If you don’t have Remmina installed on your Linux machine, first Install Remmina as per your linux distribution.

/img/gcp/common/remmina-search.png

  1. In the “Remmina Remote Desktop Client” wizard, select the RDP option from dropdown and paste the external ip and click enter.

/img/gcp/common/remmina-external-ip.png

  1. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in step 6 to authenticate. Click OK

/img/gcp/common/remmina-rdp-login.png

  1. Now you are connected to out of box NixOS with GUI VM’s desktop environment via Linux machine.

/img/azure/nixos/rdp-desktop.png

  1. Once you are connected to the VM’s desktop environment, you can access the NixOS. To do so double click on the NixOS Launcher available on the desktop as shown.

/img/azure/nixos/nixos-launcher.png

  1. It will open a Virtual Machine Manager window. On this window , select NixOS-2405 option which is in shutoff stage and click on Power ON button as shown.

/img/azure/nixos/start-nixos.png

  1. It will start the VM as shown. You can double click on the VM to open it or click on Open option from the menu.

/img/azure/nixos/nixos-running.png

  1. If you see the vm is still starting then wait for few seconds to get the login page.

/img/azure/nixos/nixos-loading.png

/img/azure/nixos/login-page.png

  1. This vm comes with techlatest as the default user. Click on the username. It will open the password textbox. The default user is techlatest and password for this user is techlatest123.

/img/azure/nixos/enter-passwd.png

  1. Now you are logged in to NixOS system using techlatest user. You can enlarge this screen by clicking the double arrow at the top right corner.

/img/azure/nixos/nixos-desktop.png

  1. Once you are connected to NixOS, update the techlatest password from terminal. Open terminal from Apps menu and run below command and enter the new password.
sudo passwd techlatest

/img/azure/nixos/techlatest-passwd.png

  1. Similarly you can update the root user password using
sudo su
passwd root

/img/azure/nixos/root-passwd.png

Please refer to our NixOS other Configuration page to manage the cpu, memory and disk size for the NixOS VM.

Go back