So, guix sets SOURCE_DATE_EPOCH=1 by default in guix/build/gnu-build-system.scm, which is great! This allows guix packages in many cases to build packages reproducibly, with a curious side-effect that takes us all back to the early 70s in some corner-cases (or even late 60s, dependent on timezone). That said, some projects (such as texlive) might be worried about messing with time too much (I get it, lots of cautionary sci-fi stories!), and so you *also* need FORCE_SOURCE_DATE=1 to be set in order to respect SOURCE_DATE_EPOCH. I am quite biased on the subject and always felt that setting SOURCE_DATE_EPOCH wouldn't happen by accident and it alone should be sufficient to say "please use this for your timestamps, really." I am not aware of use-cases where SOURCE_DATE_EPOCH is intentially set but FORCE_SOURCE_DATE is intentionally not set... in order to embed the current time. But that is kind of neither here nor there. Setting this on a package-by-package basis can be a bit tedious, wastes precious lines that could be spent on more useful code, and needs to be done for every existing and new package that might need it, such as: 964cdd57fa037fec4917ac76725b0a65d47483bc gnu: discrover: Use reproducible timestamps. a04a987450908a84fa5fde0caa25a6a50027c73c gnu: itpp: Avoid embedding build dates. I haven't done a full inventory, but many texlive packages should become considerably more reproducible with FORCE_SOURE_DATE=1 set, as well as other packages that use texlive to generate documentation in various formats. FORCE_SOURCE_DATE is mentioned in the documentation about SOURCE_DATE_EPOCH: https://reproducible-builds.org/docs/source-date-epoch/ I am making the modest proposal of Guix setting this variable by default! Patch attached for your perusal. I'm guessing this would be world-rebuild endeavor, hello core-updates! Thoughts? live well, vagrant