-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.scm
107 lines (95 loc) · 4.69 KB
/
config.scm
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.
;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (gnu) (gnu system nss))
(use-service-modules cups desktop networking ssh xorg)
;; Import nonfree linux module.
(use-modules (nongnu packages linux)
(nongnu system linux-initrd))
(operating-system
(locale "en_US.utf8")
(timezone "Asia/Shanghai")
(keyboard-layout (keyboard-layout "us"))
(host-name "guix-test")
;; Using the standard Linux kernel and nonfree firmware
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
;; The list of user accounts ('root' is implicit).
(users (cons* (user-account
(name "ryan")
(comment "Ryan")
(group "users")
(home-directory "/home/ryan")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
;; Packages installed system-wide. Users can also install packages
;; under their own account: use 'guix search KEYWORD' to search
;; for packages and 'guix install PACKAGE' to install a package.
;; Add a bunch of window managers; we can choose one at
;; the log-in screen with F1.
(packages (append (map specification->package '(
"tcpdump"
;; window managers
"ratpoison" "i3-wm" "i3status" "dmenu"
"emacs" "emacs-exwm" "emacs-desktop-environment"
"make" "neovim" "git" "kitty" "ncurses-with-tinfo"
;; terminal emulator
"xterm"
;; for HTTPS access
"nss-certs"))
%base-packages))
;; Below is the list of system services. To search for available
;; services, run 'guix system search KEYWORD' in a terminal.
(services
(append
(list
;; To configure OpenSSH, pass an 'openssh-configuration'
;; record as a second argument to 'service' below.
(service openssh-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
;; This is the default list of services we
;; Using the substitute server of SJTU to speed up the download.
(modify-services %desktop-services
(guix-service-type
config => (guix-configuration
(inherit config)
(substitute-urls '(
;; official substitute's mirror in China
"https://mirror.sjtu.edu.cn/guix/"
;; nonguix's official substitute
"https://substitutes.nonguix.org"
;; official substitute
"https://ci.guix.gnu.org")
(authorized-keys
(append (list (local-file "./signing-key.pub"))
%default-authorized-guix-keys)))))))
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda"))
(keyboard-layout keyboard-layout)))
(initrd-modules (append '("virtio_scsi") %base-initrd-modules))
(swap-devices (list (swap-space
(target (uuid
"c1345797-6772-4d43-81a4-e7a710fec820")))))
;; The list of file systems that get "mounted". The unique
;; file system identifiers there ("UUIDs") can be obtained
;; by running 'blkid' in a terminal.
(file-systems (cons* (file-system
(mount-point "/boot/efi")
(device (uuid "3F67-100B"
'fat16))
(type "vfat"))
(file-system
(mount-point "/")
(device (uuid
"7e92e417-62ef-49fe-878d-dabf7da3a68e"
'ext4))
(type "ext4")) %base-file-systems))))