image: Rename "raw" image-type to "efi-raw".
[jackhill/guix/guix.git] / gnu / system / examples / desktop.tmpl
CommitLineData
36ffaca2 1;; This is an operating system configuration template
13fb1bd9
LC
2;; for a "desktop" setup with GNOME and Xfce where the
3;; root partition is encrypted with LUKS.
36ffaca2
LC
4
5(use-modules (gnu) (gnu system nss))
305a732a 6(use-service-modules desktop xorg)
e48ddb96 7(use-package-modules certs gnome)
36ffaca2
LC
8
9(operating-system
10 (host-name "antelope")
11 (timezone "Europe/Paris")
d2986552 12 (locale "en_US.utf8")
36ffaca2 13
305a732a
LC
14 ;; Choose US English keyboard layout. The "altgr-intl"
15 ;; variant provides dead keys for accented characters.
16 (keyboard-layout (keyboard-layout "us" "altgr-intl"))
17
fc0e663f
LC
18 ;; Use the UEFI variant of GRUB with the EFI System
19 ;; Partition mounted on /boot/efi.
2941b347 20 (bootloader (bootloader-configuration
fc0e663f 21 (bootloader grub-efi-bootloader)
305a732a
LC
22 (target "/boot/efi")
23 (keyboard-layout keyboard-layout)))
13fb1bd9
LC
24
25 ;; Specify a mapped device for the encrypted root partition.
26 ;; The UUID is that returned by 'cryptsetup luksUUID'.
27 (mapped-devices
28 (list (mapped-device
29 (source (uuid "12345678-1234-1234-1234-123456789abc"))
2941b347 30 (target "my-root")
13fb1bd9
LC
31 (type luks-device-mapping))))
32
ece2fd12
PN
33 (file-systems (append
34 (list (file-system
35 (device (file-system-label "my-root"))
36 (mount-point "/")
37 (type "ext4")
38 (dependencies mapped-devices))
39 (file-system
40 (device (uuid "1234-ABCD" 'fat))
41 (mount-point "/boot/efi")
42 (type "vfat")))
43 %base-file-systems))
36ffaca2 44
03914b9d 45 ;; Create user `bob' with `alice' as its initial password.
bf87f38a 46 (users (cons (user-account
36ffaca2
LC
47 (name "bob")
48 (comment "Alice's brother")
03914b9d 49 (password (crypt "alice" "$6$abc"))
36ffaca2 50 (group "users")
b599e9eb 51 (supplementary-groups '("wheel" "netdev"
cf848cc0 52 "audio" "video")))
bf87f38a 53 %base-user-accounts))
36ffaca2 54
d038b674 55 ;; This is where we specify system-wide packages.
907dd327
PN
56 (packages (append (list
57 ;; for HTTPS access
58 nss-certs
59 ;; for user mounts
60 gvfs)
61 %base-packages))
36ffaca2 62
5c32857f
LC
63 ;; Add GNOME and Xfce---we can choose at the log-in screen
64 ;; by clicking the gear. Use the "desktop" services, which
30875d07
LC
65 ;; include the X11 log-in service, networking with
66 ;; NetworkManager, and more.
ee05cc7f 67 (services (append (list (service gnome-desktop-service-type)
305a732a
LC
68 (service xfce-desktop-service-type)
69 (set-xorg-configuration
70 (xorg-configuration
71 (keyboard-layout keyboard-layout))))
907dd327 72 %desktop-services))
36ffaca2
LC
73
74 ;; Allow resolution of '.local' host names with mDNS.
75 (name-service-switch %mdns-host-lookup-nss))