NixOS friendly hosters

From NixOS Wiki
Revision as of 21:51, 21 June 2021 by imported>SebTM (Substitute broken link with archive.org-result)

1st class NixOS support

VPS2day When ordering or configuring, the "Manual Install (Advanced)" option includes NixOS. Installation is done through a web-based console.

Support NixOS via custom ISO

BuyVM BuyVM no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality, however the resulting install will need some form of static IP configuration.
Hetzner Online From Hetzner's rescue image one can boot into the nixos installer using a custom kexec image that is configured with the IPv6 provided by Hetzner and also contain your ssh key.

Tip: The kexec tarball as generated by nixos-generators can remain put into the /boot partition for future use. Hetzner also provides an interface to upload your own ISO-images. Also here you may want to build your own iso-image, which has openssh with ssh keys due the lack of a remote console. An easier method to install NixOS on Hetzner, is to use the existing integration into NixOps. Also see Install NixOS on Hetzner Online for future information

Hetzner Cloud Hetzner Cloud has NixOS ISO images that can be mounted on a running instance. You cannot directly choose NixOS as initial distribution when creating a VM.
LiteServer NixOS ISO is available from the control panel.
netcup NixOS ISO can be uploaded via FTP to be available in the server control panel.

(in the SCP, navigate to: 'Media' → 'Images') See the official netcup documentation. Step-by-step installation instruction can be found here: NixOS on Netcup (In English). It may be necessary to create a bios-boot partition for grub.

Online A NixOS ISO can be use with iDrac (Dell) or iLo (HP). You can upload your own iso or use virtualmedia. You must have a Dell or HP server. Here is the documentation if you don't know DRAC at Online.
Inception Hosting Inception hosting no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality
Linode no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality. Install and Configure NixOS on a Linode
RamNode RamNode no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
Vultr Vultr no longer provides first party support for NixOS. You can install NixOS using the custom ISO functionality.
vpsFree.cz Non-profit association providing free as in freedom VPS services for its members.
NixOS on vpsFree

Other means of installation

Amazon EC2 See NixOS on Amazon EC2
DigitalOcean nixos-infect can be used to transform an existing installation into NixOS. This method will be also used in NixOps.
Genesis Cloud After unmounting /boot, nixos-infect can be used to transform an existing Ubuntu 16.04 installation into NixOS. This process can be fully automated (example) when using the API by supplying the unmount and nixos-infect commands in a custom startup_script.
Google Cloud Platform See Installing NixOS on GCE
Online See Install NixOS on Online.Net
OVH / Kimsufi / So you Start Blog posts for OVH and SoYouStart
Rackspace See Install NixOS on Rackspace Cloud Servers
Scaleway The kexec method (see Install NixOS on Scaleway X86 Virtual Cloud Server) works well, but bear in mind it only works with the 'virtual' class of servers, as they run under a hypervisor which attaches the disks before the kernel boots. The 'bare-metal' servers rely on a special Linux kernel booting to attach network /dev/nbdX drives which works only with Scaleway supplied images. There is a image proposal to add full NixOS support.

Hoster-agnostic means of installation

This section links to or explains methods that can be used on various providers. As always, with unsupported hosts and unsupported distributions, your mileage may vary.

Not all providers allow to upload own images or provide NixOS images for installation. However there are a few ways to install NixOS anyhow. nixos-in-place and nixos-infect are generic approaches to install NixOS from an existing Linux. A different approach is to build an kexec-based image to start the installer from an booted linux as shown in this repo, this allows for changing the underlying filesystem. See Install NixOS on a Server With a Different Filesystem.

See also the NixOps project, which also provides interfaces to different cloud providers.