Ludovic Courtès skribis: > This is achieved not by passing ‘-march=native’, because the daemon > might be running on a separate machine with a different CPU, but by > identifying the ‘-march’ value corresponding to the host CPU and > passing ‘-march’ to the compiler, via a wrapper. Another argument in favor of this approach is verifiability, because manifests record the argument to the ‘tune’ transformation option: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix shell eigen-benchmarks --tune guix shell: tuning for CPU micro-architecture skylake [env]$ guix package --export-manifest -p $GUIX_ENVIRONMENT ;; This "manifest" file can be passed to 'guix package -m' to reproduce ;; the content of your profile. This is "symbolic": it only specifies ;; package names. To reproduce the exact same profile, you also need to ;; capture the channels being used, as returned by "guix describe". ;; See the "Replicating Guix" section in the manual. (use-modules (guix transformations)) (define transform1 (options->transformation '((tune . "skylake")))) (packages->manifest (list (transform1 (specification->package "eigen-benchmarks")))) --8<---------------cut here---------------end--------------->8--- Ludo’.