The latest stable release series is 19.03 and the latest release in that series is 19.03.173368.e6ad5e75f3b. 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-00db62688900456a4 Launch
ap-northeast-2 EBS Hardware ami-0485cdd1a5fdd2117 Launch
ap-south-1 EBS Hardware ami-0303deb1b5890f878 Launch
ap-southeast-1 EBS Hardware ami-0cff66114c652c262 Launch
ap-southeast-2 EBS Hardware ami-054c73a7f8d773ea9 Launch
ca-central-1 EBS Hardware ami-03f9fd0ef2e035ede Launch
eu-central-1 EBS Hardware ami-0022b8ea9efde5de4 Launch
eu-west-1 EBS Hardware ami-0fe40176548ff0940 Launch
eu-west-2 EBS Hardware ami-03a40fd3a02fe95ba Launch
eu-west-3 EBS Hardware ami-0436f9da0f20a638e Launch
sa-east-1 EBS Hardware ami-0c6a43c6e0ad1f4e2 Launch
us-east-1 EBS Hardware ami-0efc58fb70ae9a217 Launch
us-east-2 EBS Hardware ami-0abf711b1b34da1af Launch
us-west-1 EBS Hardware ami-07d126e8838c40ec5 Launch
us-west-2 EBS Hardware ami-03f8a737546e47fb0 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.03 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"

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.