The latest stable release series is 19.09. Below are links to CD/DVD images and VirtualBox appliances containing the latest release in this series. Next Step: Manual

Installation CDs/DVDs/USB Sticks

You can install NixOS on physical hardware by burning one of the CD images onto a blank CD/DVD disk, or by copying it onto a USB stick. For installation instructions, please see the manual.

Please note that NixOS at the moment lacks a nice, user-friendly graphical installer. Therefore this form of installation may not be suitable for novice Linux users.

The graphical installation CD contains the NixOS installer as well as X11, Plasma 5 Desktop and several applications. It’s a live CD, so it allows you to get an impression of NixOS (and the Nix package manager) before installing it.

The minimal installation CD does not contain X11, and is therefore a lot smaller. You have to run the installer from the console. It contains a number of rescue tools.

VirtualBox appliances

This is a demo appliance for VirtualBox (in OVA format) that has X11 and Plasma 5 enabled, as well as the VirtualBox guest additions. To use it, download the OVA file, open VirtualBox, run “File → Import Appliance” from the menu, select the OVA file, and click “Import”. You can then start the virtual machine. When the KDE login screen appears, you can log in as user demo, password demo. To obtain a root shell, run sudo -i in the KDE terminal (konsole).

Amazon EC2 AMIs

If you are an EC2 user, you can fire up a NixOS instance instantly by using one of the AMIs listed below.

RegionRoot storageVirtualisationAMI
ap-northeast-1 EBS Hardware ami-0329e7fc2d7f60bd0 Launch
ap-northeast-2 EBS Hardware ami-03d4ae7d0b5fc364f Launch
ap-south-1 EBS Hardware ami-0b599690b35aeef23 Launch
ap-southeast-1 EBS Hardware ami-083614e4d08f2164d Launch
ap-southeast-2 EBS Hardware ami-0048c704185ded6dc Launch
ca-central-1 EBS Hardware ami-0627dd3f7b3627a29 Launch
eu-central-1 EBS Hardware ami-00a7fafd7e237a330 Launch
eu-west-1 EBS Hardware ami-0ebd3156e21e9642f Launch
eu-west-2 EBS Hardware ami-02a2b5480a79084b7 Launch
eu-west-3 EBS Hardware ami-09aa175c7588734f7 Launch
us-east-1 EBS Hardware ami-00a8eeaf232a74f84 Launch
us-east-2 EBS Hardware ami-093efd3a57a1e03a8 Launch
us-west-1 EBS Hardware ami-0913e9a2b677fac30 Launch
us-west-2 EBS Hardware ami-02d9a19f77b47882a Launch

You can create an instance using the AWS Management Console by clicking one of the Launch buttons. You can also create an instance from the command line. For example, to create an instance in region eu-west-1 using the EC2 API tools, just run:

$ ec2-run-instances  --region eu-west-1 -k my-key-pair

Microsoft Azure BLOBs

If you are an Azure user, you can manually create a NixOS instance by using one of the bootstrap BLOBs listed below.

You can create an instance from the command line. For example, to create an instance of version 19.09 of NixOS using azure-cli, just run:

# settings
# vm name must be lowercase and letters/numbers only because it's also used as the domain name
export VM_NAME="nixosvm"
export RESOURCE_GROUP="rg-nixosvm"
export LOCATION="eastus"
export STORAGE_ACCOUNT="nixosvm"
export SOURCE_URI=""

# create group
az group create \
    --name "$RESOURCE_GROUP" \
    --location "$LOCATION

# create storage
az storage account create \
    --name "$STORAGE_ACCOUNT" \
    --group "$RESOURCE_GROUP" \
    --location "$LOCATION" \
    --sku Standard_LRS

az storage account keys list \
    --name "$STORAGE_ACCOUNT" \
    --group $RESOURCE_GROUP

# export one of the storage access keys

az storage container create \
    --account-name "$STORAGE_ACCOUNT"
    --account-key "$STORAGE_ACCOUNT_KEY"
    --name vm-images

# copy the image blob
az storage blob copy start \
    --source-uri "$SOURCE_URI" \
    --destination-blob "nixos-unstable-nixops.vhd" \
    --destination-container "vm-images" \
    --account-name "$STORAGE_ACCOUNT" \
    --account-key "$STORAGE_ACCOUNT_KEY"

# wait for blob copy status to change pending->success
az storage blob show \
    --name "nixos-unstable-nixops.vhd" \
    --container-name "vm-images" \
    --account-name "$STORAGE_ACCOUNT" \
    --account-key "$STORAGE_ACCOUNT_KEY"

# create vm
az vm create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --location "$LOCATION" \
    --public-ip-address-dns-name "$VM_NAME" \
    --image "https://$" \
    --storage-account "$STORAGE_ACCOUNT" \
    --storage-container-name "$VM_NAME" \
    --use-unmanaged-disk \
    --os-disk-size-gb "32" \
    --os-type linux \
    --admin-username "azureuser" \

# show machine properties and log in
az vm show \
    --name "$VM" \
    --resource-group "$GROUP"

ssh azureuser@"$VM_NAME"."$LOCATION"

Google Compute Engine Images

If you are Google Cloud Platform user, you can create a NixOS image using one of the raw disks listed below. You can then create a NixOS instance using the image.

For example:

source_uri=$(sed 's%gs:/%' <<< $source_uri)
gcloud compute images create $image --source-uri=$source_uri
gcloud compute instances create instance-1 --image=$image

Unstable releases

If you are a developer who wants to contribute to NixOS, or if you just want the latest and greatest, you can also install the most recent unstable release.