What we have been up to

Windows-on-NixOS, part 2: Make it go fast!

By Linus Heckemann on Wed, 17 Jun 2020

This is part 2 of a series of blog posts explaining how we took an existing Windows installation on hardware and moved it into a VM running on top of NixOS. Previously, we discussed how we performed the actual storage migration. In this post, we’ll cover the various performance optimisations we tried, what worked, and what didn’t work. GPU passthrough Since the machine is, amongst other things, used for gaming, graphics performance is critical.

Continue reading

__structuredAttrs in Nix

By Robin Gloster on Mon, 20 Jan 2020

In Nix 2 a new parameter to the derivation primitive was added. It changes how information is passed to the derivation builder. Current State In order to show how it changes the handling of parameters to derivation, the first example will show the current state with __structuredAttrs set to false and the stdenv.mkDerivation wrapper around derivation. All parameters are passed to the builder as environment variables, canonicalised by Nix in imitation of shell script conventions:

Continue reading

Windows-on-NixOS, part 1: Migrating bare-metal to a VM

By Linus Heckemann on Wed, 27 Nov 2019

This is part 1 of a series of blog posts explaining how we took an existing Windows installation on hardware and moved it into a VM running on top of NixOS. Background We have a decently-equipped desktop PC sitting in our office, which is designated for data experiments using TensorFlow and such. During off-hours, it’s also used for games, and for that purpose it has Windows installed on it. We decided to try moving Windows into a VM within NixOS so that we could run both operating systems in parallel.

Continue reading

Our Crew

Franz Pletz

Franz Pletz


NixOS Security & Release Manager

Franz has been herding GNU/Linux systems for over 15 years. You are probably running some of his code right now because he loves submitting patches just as much as ranting about broken code.

Robin Gloster

Robin Gloster


NixOS Release Manager

Robin has been using Linux since he was a 13 year old child in school and has always been hacking around with it, being happiest with NixOS and loving its declarativity. No more eventual consistency, the usual case with other configuration management.

Linus Heckemann

Linus Heckemann


NixOS Release Manager

Discovering nix a year after living through a period of docker-related frustration made Linus very happy, and he has since become a very active member of the community, regular contributor, and release manager for NixOS 19.03 and 19.09.

Our Services


Whatever the challenges are, that you are facing using Nix and the related tooling, we have the prevalent solutions you can depend upon.


In individual workshops we will introduce you and your team to the wonders of reproducibility without the need for scary side effects.


After evaluating and analyzing your current infrastructure, we will provide you with the insights you need for a successful transition to the Nix ecosystem.


Whether you want continued assistance on your declarative journey or long term support for a NixOS release with security updates, we have got you covered.