Ludovic Courtès writes: >> Looking at guix/scripts/system.scm, grub is defined as >> (package->derivation grub). I tried exporting grub-configuration-grub >> and using that in the (package->derivation) procedure, but that broke >> the world :) >> >> What is the correct approach here? > > What you describe above looks like the right approach. Maybe we could > see exactly what broke and work from there, unless Danny’s patch already > solves the issue? I haven't gotten around to really try Dannys patch, but here is the backtrace when exporting grub-configuration-grub in gnu/system/grub.scm and changing to (package->derivation grub-configuration-grub) in guix/scripts/system.scm: Backtrace: In unknown file: ?: 19 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 18 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 17 [eval # #] In ice-9/boot-9.scm: 2401: 16 [save-module-excursion #] 4050: 15 [#] 1724: 14 [%start-stack load-stack ...] 1729: 13 [#] In unknown file: ?: 12 [primitive-load "/home/guix/scripts/guix"] In guix/ui.scm: 1220: 11 [run-guix-command system "reconfigure" "/etc/config.scm" "--fallback"] In ice-9/boot-9.scm: 157: 10 [catch srfi-34 # ...] 157: 9 [catch system-error # ...] In ice-9/eval.scm: 481: 8 [lp (#) (#t)] In ice-9/r4rs.scm: 90: 7 [dynamic-wind # ...] In guix/store.scm: 1182: 6 [run-with-store # # # ...] In ice-9/r4rs.scm: 39: 5 [call-with-values # ...] In guix/store.scm: 1105: 4 [# #] In guix/packages.scm: 793: 3 [cache! # ...] 1099: 2 [thunk] 793: 1 [cache! # ...] 878: 0 [thunk] guix/packages.scm:878:27: In procedure thunk: guix/packages.scm:878:27: In procedure struct_vtable: Wrong type argument in position 1 (expectingstruct): # I don't really understand what's going on in that file, so hopefully the problem is obvious :) I will post the other patches for UEFI support shortly, as they are mostly unrelated to this.