gnu: Replace all cons* with beginner-friendly (append (list ...)).
[jackhill/guix/guix.git] / gnu / system / examples / lightweight-desktop.tmpl
1 ;; This is an operating system configuration template
2 ;; for a "desktop" setup without full-blown desktop
3 ;; environments.
4
5 (use-modules (gnu) (gnu system nss))
6 (use-service-modules desktop)
7 (use-package-modules bootloaders certs ratpoison suckless wm)
8
9 (operating-system
10 (host-name "antelope")
11 (timezone "Europe/Paris")
12 (locale "en_US.utf8")
13
14 ;; Use the UEFI variant of GRUB with the EFI System
15 ;; Partition mounted on /boot/efi.
16 (bootloader (bootloader-configuration
17 (bootloader grub-efi-bootloader)
18 (target "/boot/efi")))
19
20 ;; Assume the target root file system is labelled "my-root",
21 ;; and the EFI System Partition has UUID 1234-ABCD.
22 (file-systems (append
23 (list (file-system
24 (device (file-system-label "my-root"))
25 (mount-point "/")
26 (type "ext4"))
27 (file-system
28 (device (uuid "1234-ABCD" 'fat))
29 (mount-point "/boot/efi")
30 (type "vfat")))
31 %base-file-systems))
32
33 (users (cons (user-account
34 (name "alice")
35 (comment "Bob's sister")
36 (group "users")
37 (supplementary-groups '("wheel" "netdev"
38 "audio" "video"))
39 (home-directory "/home/alice"))
40 %base-user-accounts))
41
42 ;; Add a bunch of window managers; we can choose one at
43 ;; the log-in screen with F1.
44 (packages (append (list
45 ;; window managers
46 ratpoison i3-wm i3status dmenu
47 ;; for HTTPS access
48 nss-certs)
49 %base-packages))
50
51 ;; Use the "desktop" services, which include the X11
52 ;; log-in service, networking with NetworkManager, and more.
53 (services %desktop-services)
54
55 ;; Allow resolution of '.local' host names with mDNS.
56 (name-service-switch %mdns-host-lookup-nss))