* 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.
		
	
			
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
| ;; This is an operating system configuration template for a "Docker image"
 | |
| ;; setup, so it has barely any services at all.
 | |
| 
 | |
| (use-modules (gnu))
 | |
| 
 | |
| (operating-system
 | |
|   (host-name "komputilo")
 | |
|   (timezone "Europe/Berlin")
 | |
|   (locale "en_US.utf8")
 | |
| 
 | |
|   ;; 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")
 | |
|                 (supplementary-groups '("wheel"
 | |
|                                         "audio" "video")))
 | |
|                %base-user-accounts))
 | |
| 
 | |
|   ;; Globally-installed packages.
 | |
|   (packages %base-packages)
 | |
| 
 | |
|   ;; Because the system will run in a Docker container, we may omit many
 | |
|   ;; things that would normally be required in an operating system
 | |
|   ;; configuration file.  These things include:
 | |
|   ;;
 | |
|   ;;   * bootloader
 | |
|   ;;   * file-systems
 | |
|   ;;   * services such as mingetty, udevd, slim, networking, dhcp
 | |
|   ;;
 | |
|   ;; Either these things are simply not required, or Docker provides
 | |
|   ;; similar services for us.
 | |
| 
 | |
|   ;; This will be ignored.
 | |
|   (bootloader (bootloader-configuration
 | |
|                (bootloader grub-bootloader)
 | |
|                (target "does-not-matter")))
 | |
|   ;; This will be ignored, too.
 | |
|   (file-systems (list (file-system
 | |
|                         (device "does-not-matter")
 | |
|                         (mount-point "/")
 | |
|                         (type "does-not-matter"))))
 | |
| 
 | |
|   ;; Guix is all you need!
 | |
|   (services (list (service guix-service-type))))
 |