blob: 3cc9c793ce44bd9f82d103116ecaa4b2ce104209 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
(define-module (machines portable-bios)
#:use-module (gnu bootloader) ; bootloader-configuration
#:use-module (gnu bootloader grub) ; grub-bootloader
#:use-module (gnu system file-systems) ; file-system
#:use-module (suweren system) ; %suweren-operating-system
)
;; bootloader-configuration
(define bootloader-configuration*
(let ((bootloader* grub-bootloader)
(bootloader-targets (list "/dev/sdb")) ; TODO: generalize the target
)
(bootloader-configuration (bootloader bootloader*)
(targets bootloader-targets))))
;; string -> (file-system)
(define (file-systems* host-name*)
(let* ((root-device-string (string-append host-name* "-root"))
(root-device (file-system-label root-device-string))
(file-system-root (file-system (type "ext4")
(mount-point "/")
(device root-device))))
(list file-system-root)))
;; string -> record operating-system
(define-public (operating-system* host-name*)
(%suweren-operating-system bootloader-configuration*
host-name*
(file-systems* host-name*)))
|