blob: efda31ca36b9f82cb3ccd63023e9aee2cf7e3b0b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
;; -*- mode: scheme; -*-
;; This is an operating system configuration template
;; for a "desktop" setup without full-blown desktop
;; environments.
(use-modules (gnu) (gnu system nss)
(gnu services)
(gnu services guix)
(gnu system shadow))
(use-service-modules ssh desktop xorg networking)
(use-package-modules bootloaders wm text-editors fonts python-xyz terminals version-control
xorg
xdisorg
vim
emacs emacs-xyz
gnuzilla)
;; Pull in the home-environment definition from the sibling file. We extend
;; Guile's load path so use-modules can resolve (guix-home-config) as a real
;; module that exports the `home-config' binding.
(eval-when (load eval expand)
(set! %load-path (cons "/home/cashmere/guix" %load-path)))
(use-modules (guix-home-config))
(operating-system
(host-name "antelope")
(timezone "Europe/Berlin")
(locale "en_US.utf8")
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))))
;; Assume the target root file system is labelled "my-root",
;; and the EFI System Partition has UUID 1234-ABCD.
(file-systems (append
(list (file-system
(device "/dev/vda3")
(mount-point "/")
(type "ext4"))
(file-system
(device "/dev/vda1")
(mount-point "/boot/efi")
(type "vfat")))
%base-file-systems))
(users (cons (user-account
(name "cashmere")
(comment "Bob's sister")
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video")))
%base-user-accounts))
;; Add a bunch of window managers; we can choose one at
;; the log-in screen with F1.
(packages (append (list
;; window managers
qtile rofi
xorg-server xinit xwallpaper xset
vim
emacs emacs-exwm emacs-desktop-environment
;; terminal emulator
xterm kitty font-jetbrains-mono
git)
%base-packages))
;; Use the "desktop" services, which include the X11
;; log-in service, networking with NetworkManager, and more.
(services
(append (list (service guix-home-service-type
`(("cashmere" ,home-config)))
(service xorg-server-service-type)
(service openssh-service-type)
(service dhcpcd-service-type)
(service slim-service-type
(slim-configuration (display ":0"))))
(modify-services %base-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls
(list
;; Only fast, independent mirrors. bordeaux is excluded
;; because it throttles EU users to ~300 KiB/s.
"https://ci.guix.gnu.org"
"https://bordeaux-us-east-mirror.cbaines.net"
"https://bordeaux-singapore-mirror.cbaines.net"
"https://hydra-guix-129.guix.gnu.org")))))))
(name-service-switch %mdns-host-lookup-nss))
|