What is NixOS?
NixOS is a full-featured, independent Linux distribution built using the nix package manager using a configuration file. You can download and install it on a wide range of hardware, or run it as a virtual machine.
The Drupal for NixOS project is a community-led integration that brings these two tools together using a common nix interface. The intent is to make it possible to run Drupal as a first-class service from within NixOS so you can deploy purpose built Linux boxes with support for both website-as-code and infrastructure-as-code out of the box.
Because of the power of nix, this means that users have the option to build a website on any platform they choose, share it, test it, deploy it, and configure it using a single interface and a single programming language.
Installing NixOS
Official ISO
NixOS has regular bi-yearly stable builds available for download on the NixOS website. You can choose from either a minimal installation or an ISO with a desktop environment.
- Download links: https://nixos.org/download/#nix-more
Downstream Forks and Distributions
NixOS has spawned off a few downstream forks and distributions that are tailored to specific use cases. Most of the following use nixpkgs and, therefore, could be used to run or develop sites using Drupal for NixOS.
- NixOS Wiki link: https://wiki.nixos.org/wiki/NixOS-based_distributions
Running NixOS in a Virtual Machine
Depending on your host system, you may have access to multiple different options for visualizing NixOS.
You can download the NixOS iso and use any modern conventional virtualisation software to run NixOS as a virual machine. Options include:
- VMWare
- VirtualBox
- QEMU
- GNOME Boxes
- And more
Conventional Methods
You can download the NixOS iso and use any modern conventional virtualisation software to run NixOS as a virual machine. Options include:
- VMWare
- VirtualBox
- QEMU
- GNOME Boxes
- And more
Nix-specific Methods
If you are using:
- Linux
- with support for virtualisation
- with the nix package manager
you can use a simple configuration.nix file or flake.nix to run NixOS as a virtual machine.
Any configuration you write to run the virtual machine can then be used to run or build any NixOS-based server you end up making.