| 1 | ;; -*- mode: scheme; -*-
|
| 2 | ;; This is an operating system configuration template for a "Docker image"
|
| 3 | ;; setup, so it has barely any services at all.
|
| 4 |
|
| 5 | (use-modules (gnu))
|
| 6 |
|
| 7 | (operating-system
|
| 8 | (host-name "komputilo")
|
| 9 | (timezone "Europe/Berlin")
|
| 10 | (locale "en_US.utf8")
|
| 11 |
|
| 12 | ;; This is where user accounts are specified. The "root" account is
|
| 13 | ;; implicit, and is initially created with the empty password.
|
| 14 | (users (cons (user-account
|
| 15 | (name "alice")
|
| 16 | (comment "Bob's sister")
|
| 17 | (group "users")
|
| 18 | (supplementary-groups '("wheel"
|
| 19 | "audio" "video")))
|
| 20 | %base-user-accounts))
|
| 21 |
|
| 22 | ;; Globally-installed packages.
|
| 23 | (packages %base-packages)
|
| 24 |
|
| 25 | ;; Because the system will run in a Docker container, we may omit many
|
| 26 | ;; things that would normally be required in an operating system
|
| 27 | ;; configuration file. These things include:
|
| 28 | ;;
|
| 29 | ;; * bootloader
|
| 30 | ;; * file-systems
|
| 31 | ;; * services such as mingetty, udevd, slim, networking, dhcp
|
| 32 | ;;
|
| 33 | ;; Either these things are simply not required, or Docker provides
|
| 34 | ;; similar services for us.
|
| 35 |
|
| 36 | ;; This will be ignored.
|
| 37 | (bootloader (bootloader-configuration
|
| 38 | (bootloader grub-bootloader)
|
| 39 | (targets '("does-not-matter"))))
|
| 40 | ;; This will be ignored, too.
|
| 41 | (file-systems (list (file-system
|
| 42 | (device "does-not-matter")
|
| 43 | (mount-point "/")
|
| 44 | (type "does-not-matter"))))
|
| 45 |
|
| 46 | ;; Guix is all you need!
|
| 47 | (services (list (service guix-service-type))))
|