summaryrefslogtreecommitdiff
path: root/machines/portable-bios.scm
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*)))