Brussels / 31 January & 1 February 2015


Nix, NixOS, NixOps

From Developing to Provisioning software

Nix is a package manager that provides side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments. This talk highlights how simple features of a package manager can change the way components are developed and deployed. We will investigate how Nix works and demonstrate how to use it throughout the development cycle. We will create a development environment, configure a system service, deploy to a container for testing and finally deploy a remote system.

  • Package management:
  • Issues: Correctness, Completeness, Interference.
  • Deployment: Source vs. Binary.

  • Nix

  • Isolation: Hashing build inputs.
  • Making build environment.
  • Demo: Building a package.
  • Source & Binary deployment.

  • NixOS

  • Configuration implies Installation.
  • Configuration management & Abstraction.
  • Demo: Generate configuration files around a service.

  • NixOps

  • Provisioning a configuration.
  • Demo: Testing deployment.


Nicolas B. Pierron