#: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
+ bootloader-configuration-keyboard-layout
bootloader-configuration-theme
bootloader-configuration-terminal-outputs
bootloader-configuration-terminal-inputs
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.
;;;
(define-record-type* <bootloader-configuration>
bootloader-configuration make-bootloader-configuration
bootloader-configuration?
- (bootloader bootloader-configuration-bootloader) ; <bootloader>
- (device bootloader-configuration-device ; string
- (default #f))
- (menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
- (default '()))
- (default-entry bootloader-configuration-default-entry ; integer
- (default 0))
- (timeout bootloader-configuration-timeout ; seconds as integer
- (default 5))
- (theme bootloader-configuration-theme ; bootloader-specific theme
- (default #f))
- (terminal-outputs bootloader-configuration-terminal-outputs ; list of symbols
- (default '(gfxterm)))
- (terminal-inputs bootloader-configuration-terminal-inputs ; list of symbols
- (default '()))
- (serial-unit bootloader-configuration-serial-unit ; integer | #f
- (default #f))
- (serial-speed bootloader-configuration-serial-speed ; integer | #f
- (default #f))
- (additional-configuration bootloader-configuration-additional-configuration ; record
- (default #f)))
+ (bootloader bootloader-configuration-bootloader) ;<bootloader>
+ (target bootloader-configuration-target ;string
+ (default #f))
+ (menu-entries bootloader-configuration-menu-entries ;list of <boot-parameters>
+ (default '()))
+ (default-entry bootloader-configuration-default-entry ;integer
+ (default 0))
+ (timeout bootloader-configuration-timeout ;seconds as integer
+ (default 5))
+ (keyboard-layout bootloader-configuration-keyboard-layout ;<keyboard-layout> | #f
+ (default #f))
+ (theme bootloader-configuration-theme ;bootloader-specific theme
+ (default #f))
+ (terminal-outputs bootloader-configuration-terminal-outputs ;list of symbols
+ (default '(gfxterm)))
+ (terminal-inputs bootloader-configuration-terminal-inputs ;list of symbols
+ (default '()))
+ (serial-unit bootloader-configuration-serial-unit ;integer | #f
+ (default #f))
+ (serial-speed bootloader-configuration-serial-speed ;integer | #f
+ (default #f)))
\f
;;;
"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.