Hello, Roughly, there’s not much difference between what Guix and Nixpkgs provide in terms of build determinism, but this is clearly something we’re interested in.
Guix may be slightly stricter in that chroot builds are the default, and it doesn’t rely on /bin/sh being in the chroot (unlike Nixpkgs.) You mention profile-guided optimizations. This is *disabled* by default in GCC, AFAIK, so GCC is definitely deterministic. Another thing we do is build Binutils with --enable-deterministic-archives, which makes ‘ar’ archives with zeroed timestamps by default. For other examples of non-determinism issues, the Debian project has a nice summary: <https://wiki.debian.org/ReproducibleBuilds>. Similarly, some time ago, I started looking a fixed-point builds, though I didn’t complete that: https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00159.html Thanks, Ludo’.