#:use-module (guix records)
#:use-module (guix ui)
#:use-module (srfi srfi-1)
- #:export (bootloader
+ #:export (menu-entry
+ menu-entry?
+ menu-entry-label
+ menu-entry-device
+ menu-entry-linux
+ menu-entry-linux-arguments
+ menu-entry-initrd
+ menu-entry-device-mount-point
+
+ bootloader
bootloader?
bootloader-name
bootloader-package
bootloader-configuration
bootloader-configuration?
bootloader-configuration-bootloader
- bootloader-configuration-device
+ bootloader-configuration-target
bootloader-configuration-menu-entries
bootloader-configuration-default-entry
bootloader-configuration-timeout
lookup-bootloader-by-name))
\f
+;;;
+;;; Menu-entry record.
+;;;
+
+(define-record-type* <menu-entry>
+ menu-entry make-menu-entry
+ menu-entry?
+ (label menu-entry-label)
+ (device menu-entry-device ; file system uuid, label, or #f
+ (default #f))
+ (device-mount-point menu-entry-device-mount-point
+ (default #f))
+ (linux menu-entry-linux)
+ (linux-arguments menu-entry-linux-arguments
+ (default '())) ; list of string-valued gexps
+ (initrd menu-entry-initrd)) ; file name of the initrd as a gexp
+
+\f
;;;
;;; Bootloader record.
;;;
bootloader-configuration make-bootloader-configuration
bootloader-configuration?
(bootloader bootloader-configuration-bootloader) ; <bootloader>
- (device bootloader-configuration-device ; string
+ (target bootloader-configuration-target ; string
(default #f))
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
(default '()))
"Return the list of bootloader modules."
(all-modules (map (lambda (entry)
`(,entry . "gnu/bootloader"))
- %load-path)))
+ %load-path)
+ #:warn warn-about-load-error))
(define %bootloaders
;; The list of publically-known bootloaders.