not-os is a minimal OS based on the Linux kernel, coreutils, runit, and Nix. It is also the build script, written in Nix expressions, to build such OS.

This is a project of Michael Bishop (cleverca22 on GitHub, clever on IRC). I modified it just a bit to make it possible to generate this documentation.

As a build tool, not-os uses nixpkgs and in particular the NixOS module system to build the three main components of a Linux-based operating system:

  • a kernel (
  • an initrd (
  • a rootfs (

Given the three above derivations, it is possible to generate the appropriate qemu-kvm invocation as a script, runvm. runvm is the main entry point to start playing and understanding not-os. Follow that link, or any one of those at the bottom of each page, and enjoy!

To follow along, you can clone the Git repository and run each nix-build command as they appear at the top of each page.