This project is not covered by Drupal’s security advisory policy.
Drupal, as a Service!
Project Description
This project tracks the development of the drupal package and the nixos/drupal service module in NixOS.
This project is intended to (one day) host documentation, guides, and an issue tracker for contributors to earn Drupal credit when they contribute to the NixOS integration in some way.
What Is NixOS?
NixOS is a Linux distribution that is built around a package manager called nix. Using a programming language by the same name, users can configure nix to build disposable, declarative, and reproducible development environments, or (as in the case of NixOS) entire operating systems.
All software in nix and NixOS is stored in an immutable file tree called /nix/store with a hashed name of all of that package's dependencies, meaning that you can install different versions of the same software without running into dependency conflicts. It also makes it possible to perform full-system rollbacks.
Every time you rebuild your NixOS system, it takes a snapshot of the nix configuration used to build that system. When you log in to your system, you will be presented with a grub menu that lets you pick which version of your system's software you want to boot into from among the full history of all of your builds.
Because NixOS builds its entire system from a text file, you can copy and paste that text file onto another computer and exactly build that same system in a matter of minutes.
NixOS gets a lot of use in the world of cloud computing and embedded systems, but it can just as easily be used for desktop computers too.
What Does Drupal Have To Do With It?
Drupal is now a package and a service in NixOS. This means that using just a little bit of nix code, you can spin up an entire pre-configured Drupal instance.
For example, this code is all you need to start up a Drupal webserver with nginx, MYSQL, and PHP-FPM.
sevices.drupal.enable = true;
This will create a Drupal website at localhost that is ready to install. My hope for this is that people can use this tool as a way to run Drupal websites in a distributed, reproducible way.
How Can I Help?
This integration is pretty new, so you can help by testing it out, by writing documentation, or by filing an issue either on this project, or on nixpkgs. As a rule, code-based issues and pull requests should be filed on the NixOS project, and then credit can be distributed on this project once that issue or pull request is resolved.
Similar Projects
Drupal Flake is a project hosted here on drupal.org that uses a feature of NixOS called "flakes" to build local development environments.
The main difference between these two projects is that Drupal Flake is focused on development environments built using nix, whereas this project is focused on the integration and maintenance of Drupal with nixpkgs.
Project information
- Created by abenbow on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
