file-systems: Convey hint via '&fix-hint'.
[jackhill/guix/guix.git] / gnu / system / examples / beaglebone-black.tmpl
1 ;; This is an operating system configuration template
2 ;; for a "bare bones" setup on BeagleBone Black board.
3
4 (use-modules (gnu) (gnu bootloader u-boot))
5 (use-service-modules networking)
6 (use-package-modules bootloaders screen ssh)
7
8 (operating-system
9 (host-name "komputilo")
10 (timezone "Europe/Berlin")
11 (locale "en_US.utf8")
12
13 ;; Assuming /dev/mmcblk1 is the eMMC, and "my-root" is
14 ;; the label of the target root file system.
15 (bootloader (bootloader-configuration
16 (bootloader u-boot-beaglebone-black-bootloader)
17 (target "/dev/mmcblk1")))
18
19 ;; This module is required to mount the SD card.
20 (initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
21
22 (file-systems (cons (file-system
23 (device (file-system-label "my-root"))
24 (mount-point "/")
25 (type "ext4"))
26 %base-file-systems))
27
28 ;; This is where user accounts are specified. The "root"
29 ;; account is implicit, and is initially created with the
30 ;; empty password.
31 (users (cons (user-account
32 (name "alice")
33 (comment "Bob's sister")
34 (group "users")
35
36 ;; Adding the account to the "wheel" group
37 ;; makes it a sudoer. Adding it to "audio"
38 ;; and "video" allows the user to play sound
39 ;; and access the webcam.
40 (supplementary-groups '("wheel"
41 "audio" "video")))
42 %base-user-accounts))
43
44 ;; Globally-installed packages.
45 (packages (append (list screen openssh) %base-packages))
46
47 (services (append (list (service dhcp-client-service-type)
48 ;; mingetty does not work on serial lines.
49 ;; Use agetty with board-specific serial parameters.
50 (agetty-service
51 (agetty-configuration
52 (extra-options '("-L"))
53 (baud-rate "115200")
54 (term "vt100")
55 (tty "ttyO0"))))
56 %base-services)))