C header includes in NixOS

I figured out a way, not sure if the best:

  • Set environment.extraOutputsToInstall = [ "dev" ] - This makes include and I guess .o, .so files available for all packages listed in environment.systemPackages. See [1]
  • Set environment.variables.C_INCLUDE_PATH = "${nixpkgs.expat.dev}/include" - This makes them available for GCC

[1] Nixpkgs 23.11 manual | Nix & NixOS

1 Like