writing derivations

Ultimately almost everything in Nix is a derivation --- a specification for producing outputs given fixed inputs. Indeed, the entire NixOS system can be seen as a single large derivation with many inputs. Writing derivations is a skill developed through trial and error. Here I attempt to document implicit conventions, lessons, common gotcha's, and other tips and tricks for writing derivations.

seeing shared libraries

All provided by binutils

  • readelf -Ws,
  • objdump -TC,
  • nm -gD.

Show undefined symbols only:

  • nm -ugD.

hacking on nixpkgs

Build the NixOS configuration from a nixpkgs fork with

sudo nixos-rebuild test --override-input nixpkgs . --fast

pull requests

For reference, here is a list of pull requests I've submitted to nixpkgs, ordered by submission time.