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

Installation CDs/DVDs

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-dbd0f7bc Launch
ap-northeast-1 Instance Hardware ami-7cdff81b Launch
ap-northeast-2 EBS Hardware ami-c59a48ab Launch
ap-northeast-2 Instance Hardware ami-0b944665 Launch
ap-south-1 EBS Hardware ami-4f413220 Launch
ap-south-1 Instance Hardware ami-864033e9 Launch
ap-southeast-1 EBS Hardware ami-e08c3383 Launch
ap-southeast-1 Instance Hardware ami-c28f30a1 Launch
ap-southeast-2 EBS Hardware ami-fca9a69f Launch
ap-southeast-2 Instance Hardware ami-3daaa55e Launch
ca-central-1 EBS Hardware ami-9b00bdff Launch
ca-central-1 Instance Hardware ami-e800bd8c Launch
eu-central-1 EBS Hardware ami-5450803b Launch
eu-central-1 Instance Hardware ami-6e2efe01 Launch
eu-west-1 EBS Hardware ami-10754c76 Launch
eu-west-1 Instance Hardware ami-11734a77 Launch
eu-west-2 EBS Hardware ami-ff1d099b Launch
eu-west-2 Instance Hardware ami-fe1d099a Launch
sa-east-1 EBS Hardware ami-d95d3eb5 Launch
sa-east-1 Instance Hardware ami-fca2c190 Launch
us-east-1 EBS Hardware ami-0940c61f Launch
us-east-1 Instance Hardware ami-674fc971 Launch
us-east-2 EBS Hardware ami-afc2e6ca Launch
us-east-2 Instance Hardware ami-a1cde9c4 Launch
us-west-1 EBS Hardware ami-587b2138 Launch
us-west-1 Instance Hardware ami-70411b10 Launch
us-west-2 EBS Hardware ami-a93daac9 Launch
us-west-2 Instance Hardware ami-5139ae31 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 17.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=nixvm005
$ export GROUP=test-group
$ export LOCATION=westus
$ export STORAGE=testst004
$ export SOURCE_URI=

# create group
$ azure config mode arm
$ azure group create $GROUP --location $LOCATION

# create storage
$ azure storage account create $STORAGE -g $GROUP -l $LOCATION --type LRS
$ azure storage account keys list $STORAGE -g $GROUP

# export one of the storage access keys
$ export KEY=
$ echo $KEY

$ azure storage container create -a $STORAGE -k $KEY vm-images

# copy the image blob
$ azure storage blob copy start --source-uri $SOURCE_URI --dest-account-name $STORAGE --dest-account-key $KEY \
    --dest-container vm-images --dest-blob nixos-unstable-nixops.vhd

# wait for blob copy status to change pending->success
$ azure storage blob copy show --container vm-images  --blob nixos-unstable-nixops.vhd -a $STORAGE -k $KEY

# create vm
$ azure vm create $GROUP $VM $LOCATION Linux --storage-account-name $STORAGE \
    -d https://"$STORAGE" \
    --image-urn https://"$STORAGE" \
    --nic-name $VM --vnet-name $VM --vnet-address-prefix --vnet-subnet-name $VM \
    --vnet-subnet-address-prefix --public-ip-name $VM --public-ip-domain-name $VM \
    --admin-username azureuser

# show machine properties and log in
$ azure vm show $GROUP $VM
$ ssh azureuser@"$VM"."$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.