NixOS overlay notes
NixOS has a concept of overlays
since a while (around 2016). The
official manual has a chapter on it : Overlays.
Overlays are used to add layers in the fix-point used by Nixpkgs to compose the set of all packages.
There is two distinct element to overlays:
- How to define overlays ?
- Where
nix
(and NixOS) looks for it ?
Define an overlay
According to the documentation, « Overlays are Nix functions which accept two arguments, conventionally called self and super, and return a set of packages ». The documentation gives an example :
self: super: { boost = super.boost.override { python = self.python3; }; rr = super.callPackage ./pkgs/rr { stdenv = self.stdenv_32bit; }; }
I used to have a personal channels on github : sbrpkgs. Let’s convert
this repository to an overlay by updating the default.nix
file.