Dive into NixOPS and its container backend

Munich NixOS Meetup
Munich NixOS Meetup
Public group
Location image of event venue


Talk by Johannes Bornhold (https://twitter.com/jbornhold)

NixOPS is the cloud deployment tool out of the NixOS ecosystem. It is based on Nix and NixOS and allows to describe a network of machines and additional resources. Based on this description the network can be deployed.

The container backend is based on NixOS' built-in container support. The talk will give a short introduction into the usage of NixOPS and the container backend. This will be based on my experiences trying to use the container backend to quickly throw a few containers into a virtual machine and later deploy these container on a regular server.

The second part will give an introduction into NixOPS internals with a focus on its container backend. This part will cover the internal structure of the NixOPS codebase as well as the way how declarative and imperative NixOS containers do currently work, looking from the NixOPS angle.

If some people are interested we can do a little hackathon afterwards. Proposed topic by Johannes:

• Unify declarative / imperative NixOS containers to extend it's usability from the NixOPS perspective. This is the bit I ended up working on, instead of throwing containers out into my virtual machine.
Some background food on this topic:
• Some notes on this PR (https://github.com/NixOS/nixpkgs/issues/18355)
• Early code fragments (https://github.com/johbo/nixops/tree/exp-containers)

My goal would be to look at some small steps to further explore this approach.