Hi Ludo, On Tue, 26 Jul 2016 22:49:35 +0200 l...@gnu.org (Ludovic Courtès) wrote:
> > (u-boot u-boot-configuration-u-boot ; package > > (default (@ (gnu packages u-boot) (make-u-boot-package > > board)))) > > The default value has invalid syntax. Should be simply: > > (default (make-u-boot-package board)) > > but I think this doesn’t work (‘board’ will be unbound; yeah, > counter-intuitive.) > > You could instead do (default #f) and call ‘make-u-boot-package’ when > that value is #f. > > > (define (eye-candy config root-fs system port) > > "dummy" > > (mlet* %store-monad ((image #f)) > > (return (and image > > #~(format #$port ""))))) > > > > Simply remove it. :-) Yeah, but there's a (mlet %store-monad ((sugar (eye-candy config store-fs system #~port))) in the same file. Can I remove that and #$sugar , too? Will it still work? Also, I'm trying to s/grub.cfg/bootloader-configuration-file/g right now, but I wonder (1) Whether it's possible to determine the basename of the config-file derivation in order to find out what bootloader to install (2) Whether we want to do it that way . If so, we could have a install-bootloader routine that detects what the filename of the bootloader-configuration-file object is and then calls either install-grub or install-u-boot. For an overview, I searched: $ grep -rl grub . |grep '\.scm' ./gnu/build/vm.scm ; initialize-hard-disk has a key #:grub.cfg ./gnu/build/install.scm ; actual invocation of grub-install is here ./gnu/packages/admin.scm ; fine; some person is called grubb ./gnu/packages/grub.scm ; fine to use it in there ./gnu/system/grub.scm ; fine to use it in there ./gnu/system/vm.scm ; qemu-image has a key #:grub-configuration; source file hardcodes grub package (?) ./gnu/system/install.scm ; references grub package "mostly so xrefs to its manual work" ./gnu/system.scm ; needs to be adapted ./tests/system.scm ; harmless, just uses grub-configuration ./build-aux/hydra/demo-os.scm ; harmless, just uses grub-configuration ./guix/scripts/system.scm ; install-grub* needs to be generalized ./gnu.scm ; %public-modules grub for grub-configuration Some of these would have to be adapted.