Subject: bug#21224: guix system init --no-grub doesn't work

From: Mark H Weaver <[email-masked]>
Date: Sun, 09 Aug 2015 13:17:30 -0400

I'm in the early stages of adding GuixSD for the Lemote Yeeloong, and so
for now would like to avoid getting grub working on the Yeeloong.  So,
I tried running "guix system init config.scm /target --no-grub", and
this is what happens:

  /gnu/store/...-system

  initializing operating system under '/target'...
  guix system: error: build failed: path `/gnu/store/...-grub.cfg' is not valid

In the 'install' procedure in (guix scripts system), I tried changing:

  (maybe-copy grub.cfg)

to:

  (mwhen grub?
    (maybe-copy grub.cfg))

and then the command works, but almost nothing gets copied to /target.
In retrospect, this makes sense: as the comment says, the installer
works by copying the *closure* of grub.cfg.  However, it fails when
--no-grub is passed, apparently because grub.cfg was not built.

      Mark