NixOS had some problems particularly the llvm and clang compilers that complained a lot about missing standard libraries and headers.
I think it's likely that you're trying to just add clang/llvm toolchains to your development shell like this:
pkgs.mkShell { packages = [
llvmPackages_16.clang
]; };
But you actually want something like:
(mkShell.override { inherit (llvmPackages_16) stdenv; }) {
packages = [ ];
}
Open firmware is important for trusting your boot chain. Seeing their list of partners in the article makes it look like a bunch of cloud providers want to take early boot security very seriously.