NixOS MicroVM
Table of Contents
Introduction
NixOS MicroVM refers to a minimalistic virtual machine environment based on the NixOS Linux distribution. The NixOS MicroVM leverages these principles to create a highly customizable and reproducible virtual machine environment. It allows users to define the entire system configuration, including packages, services, and dependencies, in a declarative manner using the Nix language. This ensures that the MicroVM is consistent, easily reproducible, and can be version-controlled.
In this guide, will learn how to make reproducible, declarative and reliable systems by deploying a NixOS MicroVM weblet in ThreeFold Dashboard.
For more information on Nix, you can read the Nix Reference Manual.
Access the ThreeFold Dashboard
-
Go to the ThreeFold Dashboard website, based on the deployment network you prefer:
-
Make sure you have a wallet
-
From the sidebar click on Solutions
-
Click on Micro Virtual Machine to start your NixOS MicroVM Deployment
Deploy a NixOS MicroVM
We now present the main steps to properly configure your NixOS MicroVM running on the TFGrid.
- In the section
Config
, make sure to selectNixos
as theVM Image
. You can choose different parameters (CPU, Memory, etc.) for your deployment depending on your workload needs.
- In the section
Environment Variables
, you can add the default configurations for Nix. Here's an example:-
{ pkgs ? import <nixpkgs> { } }: let pythonEnv = pkgs.python3.withPackages(ps: [ ]); in pkgs.mkShell { packages = [ pythonEnv ]; }
- This will be written to
/root/default.nix
. You can change the Nix shell configuration there.
- This will be written to
-
- In the section
Disks
, you should mount a disk large enough for Nix to store its files used fornix-store
.
- Once your configured the parameters, you can deploy the MicroVM.
If you need more information on how to SSH into your deployment, read this section of the TF Manual.
Questions and Feedback
You should now be able to easily deploy a NixOS MicroVM on the ThreeFold Grid.
If you have any question or feedback, you can write a post on the ThreeFold Forum.