Container-less Dev environments for Drupal development with Nix
Container-less Dev environments for Drupal development with Nix
DDev, Lando, and DrupalPod are all great ways to get a local development instance up and running, but they carry some overhead: they are all built on containers.
A huge benefit of containers is that they are built in a declarative way, making them a reliable way to get the same code running no matter which machine it's running on.
What if you could do the same thing without containers? With Nix, you can!
Nix is a technology that lets you create self-contained development environments in a declarative way, without containers. Nix environments that use "flakes" are also reproducible, allowing you to load old or new versions along with their dependencies -- and you can ship these flakes with your project so they can be spun up anywhere.
This just scratches the surface of what you can do with Nix.
- Time travel back to 2015 to build an old React project using Node 12
- Install any of more than 100,000 software packages on your desktop
- Build optimized containers that are a fraction of the size of Docker containers
- Upgrade an ancient Linux server in place to a cutting edge NixOS install with all the latest software
- Apply fixes, patches, tools across your fleet of servers with a single command
But the single biggest feature is, if anything fails you can just revert to the previous build.
This session is an introduction to Nix -- an overview of all the magical things it can do, with a focus on how to use it to solve a variety of Drupal development challenges.