* gnu/system/accounts.scm (<user-account>)[home-directory]: Mark as
thunked and add a default value.
(default-home-directory): New procedure.
* doc/guix.texi (User Accounts): Remove 'home-directory' from example.
* gnu/system/examples/bare-bones.tmpl: Likewise.
* gnu/system/examples/beaglebone-black.tmpl: Likewise.
* gnu/system/examples/desktop.tmpl: Likewise.
* gnu/system/examples/docker-image.tmpl: Likewise.
* gnu/system/examples/lightweight-desktop.tmpl: Likewise.
* gnu/system/install.scm (installation-os): Likewise.
* gnu/tests.scm (%simple-os): Likewise.
* gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda):
(%separate-home-os, %encrypted-root-os, %btrfs-root-os): Likewise.
* tests/accounts.scm ("allocate-passwd")
("allocate-passwd with previous state"): Likewise.
		
	
			
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
;; This is an operating system configuration template
 | 
						|
;; for a "bare bones" setup on BeagleBone Black board.
 | 
						|
 | 
						|
(use-modules (gnu) (gnu bootloader u-boot))
 | 
						|
(use-service-modules networking)
 | 
						|
(use-package-modules bootloaders screen ssh)
 | 
						|
 | 
						|
(operating-system
 | 
						|
  (host-name "komputilo")
 | 
						|
  (timezone "Europe/Berlin")
 | 
						|
  (locale "en_US.utf8")
 | 
						|
 | 
						|
  ;; Assuming /dev/mmcblk1 is the eMMC, and "my-root" is
 | 
						|
  ;; the label of the target root file system.
 | 
						|
  (bootloader (bootloader-configuration
 | 
						|
               (bootloader u-boot-beaglebone-black-bootloader)
 | 
						|
               (target "/dev/mmcblk1")))
 | 
						|
 | 
						|
  ;; This module is required to mount the SD card.
 | 
						|
  (initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
 | 
						|
 | 
						|
  (file-systems (cons (file-system
 | 
						|
                        (device (file-system-label "my-root"))
 | 
						|
                        (mount-point "/")
 | 
						|
                        (type "ext4"))
 | 
						|
                      %base-file-systems))
 | 
						|
 | 
						|
  ;; This is where user accounts are specified.  The "root"
 | 
						|
  ;; account is implicit, and is initially created with the
 | 
						|
  ;; empty password.
 | 
						|
  (users (cons (user-account
 | 
						|
                (name "alice")
 | 
						|
                (comment "Bob's sister")
 | 
						|
                (group "users")
 | 
						|
 | 
						|
                ;; Adding the account to the "wheel" group
 | 
						|
                ;; makes it a sudoer.  Adding it to "audio"
 | 
						|
                ;; and "video" allows the user to play sound
 | 
						|
                ;; and access the webcam.
 | 
						|
                (supplementary-groups '("wheel"
 | 
						|
                                        "audio" "video")))
 | 
						|
               %base-user-accounts))
 | 
						|
 | 
						|
  ;; Globally-installed packages.
 | 
						|
  (packages (append (list screen openssh) %base-packages))
 | 
						|
 | 
						|
  (services (append (list (service dhcp-client-service-type)
 | 
						|
                          ;; mingetty does not work on serial lines.
 | 
						|
                          ;; Use agetty with board-specific serial parameters.
 | 
						|
                          (agetty-service
 | 
						|
                           (agetty-configuration
 | 
						|
                            (extra-options '("-L"))
 | 
						|
                            (baud-rate "115200")
 | 
						|
                            (term "vt100")
 | 
						|
                            (tty "ttyO0"))))
 | 
						|
                  %base-services)))
 |