summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/accounts.scm17
-rw-r--r--gnu/system/file-systems.scm18
-rw-r--r--gnu/system/hurd.scm14
-rw-r--r--gnu/system/images/visionfive2.scm24
-rw-r--r--gnu/system/install.scm14
-rw-r--r--gnu/system/keyboard.scm16
-rw-r--r--gnu/system/linux-initrd.scm15
-rw-r--r--gnu/system/locale.scm12
-rw-r--r--gnu/system/mapped-devices.scm14
-rw-r--r--gnu/system/nss.scm12
-rw-r--r--gnu/system/pam.scm12
-rw-r--r--gnu/system/privilege.scm16
-rw-r--r--gnu/system/setuid.scm16
-rw-r--r--gnu/system/shadow.scm12
-rw-r--r--gnu/system/vm.scm12
15 files changed, 111 insertions, 113 deletions
diff --git a/gnu/system/accounts.scm b/gnu/system/accounts.scm
index 52dbbbf3a33..de91efe669a 100644
--- a/gnu/system/accounts.scm
+++ b/gnu/system/accounts.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Data structures representing user accounts and user groups. This is meant
23;;; to be used both on the host side and at run time--e.g., in activation
24;;; snippets.
25;;;
26;;; Code:
27
20(define-module (gnu system accounts) 28(define-module (gnu system accounts)
21 #:use-module (guix records) 29 #:use-module (guix records)
22 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
@@ -55,15 +63,6 @@
55 63
56 default-shell)) 64 default-shell))
57 65
58
59;;; Commentary:
60;;;
61;;; Data structures representing user accounts and user groups. This is meant
62;;; to be used both on the host side and at run time--e.g., in activation
63;;; snippets.
64;;;
65;;; Code:
66
67(define default-shell 66(define default-shell
68 ;; Default shell for user accounts (a string or string-valued gexp). 67 ;; Default shell for user accounts (a string or string-valued gexp).
69 (make-parameter "/bin/sh")) 68 (make-parameter "/bin/sh"))
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index fd9065d2f6d..7ec2cd02594 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -21,6 +21,15 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Declaring file systems to be mounted.
27;;;
28;;; Note: this file system is used both in the Shepherd and on the "host
29;;; side", so it must not include (gnu packages …) modules.
30;;;
31;;; Code:
32
24(define-module (gnu system file-systems) 33(define-module (gnu system file-systems)
25 #:use-module (ice-9 match) 34 #:use-module (ice-9 match)
26 #:use-module (rnrs bytevectors) 35 #:use-module (rnrs bytevectors)
@@ -109,15 +118,6 @@
109 swap-space-priority 118 swap-space-priority
110 swap-space-discard?)) 119 swap-space-discard?))
111 120
112;;; Commentary:
113;;;
114;;; Declaring file systems to be mounted.
115;;;
116;;; Note: this file system is used both in the Shepherd and on the "host
117;;; side", so it must not include (gnu packages …) modules.
118;;;
119;;; Code:
120
121(eval-when (expand load eval) 121(eval-when (expand load eval)
122 (define invalid-file-system-flags 122 (define invalid-file-system-flags
123 ;; Note: Keep in sync with 'mount-flags->bit-mask'. 123 ;; Note: Keep in sync with 'mount-flags->bit-mask'.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 4d5a3d6799b..b57526f93c2 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -17,6 +17,13 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This module provides system-specifics for the GNU/Hurd operating system
23;;; and virtual machine.
24;;;
25;;; Code:
26
20(define-module (gnu system hurd) 27(define-module (gnu system hurd)
21 #:use-module (ice-9 match) 28 #:use-module (ice-9 match)
22 #:use-module (guix gexp) 29 #:use-module (guix gexp)
@@ -55,13 +62,6 @@
55 %hurd-default-operating-system-kernel 62 %hurd-default-operating-system-kernel
56 %setuid-programs/hurd)) 63 %setuid-programs/hurd))
57 64
58;;; Commentary:
59;;;
60;;; This module provides system-specifics for the GNU/Hurd operating system
61;;; and virtual machine.
62;;;
63;;; Code:
64
65(define %hurd-default-operating-system-kernel 65(define %hurd-default-operating-system-kernel
66 gnumach) 66 gnumach)
67 67
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
index ee0682b6fcd..22f6545db12 100644
--- a/gnu/system/images/visionfive2.scm
+++ b/gnu/system/images/visionfive2.scm
@@ -17,6 +17,18 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with
23;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the
24;;; board will use U-Boot from Guix System instead of the vendor U-Boot.
25;;; Booting from eMMC and NVME is still work-in-progress.
26;;;
27;;; References:
28;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html>
29;;;
30;;; Code:
31
20(define-module (gnu system images visionfive2) 32(define-module (gnu system images visionfive2)
21 #:use-module (gnu bootloader) 33 #:use-module (gnu bootloader)
22 #:use-module (gnu bootloader u-boot) 34 #:use-module (gnu bootloader u-boot)
@@ -46,18 +58,6 @@
46 visionfive2-image-type 58 visionfive2-image-type
47 visionfive2-barebones-raw-image)) 59 visionfive2-barebones-raw-image))
48 60
49;;; Commentary:
50;;;
51;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with
52;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the
53;;; board will use U-Boot from Guix System instead of the vendor U-Boot.
54;;; Booting from eMMC and NVME is still work-in-progress.
55;;;
56;;; References:
57;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html>
58;;;
59;;; Code:
60
61(define visionfive2-barebones-os 61(define visionfive2-barebones-os
62 (operating-system 62 (operating-system
63 (host-name "visionfive2") 63 (host-name "visionfive2")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 2f5d5d4b1c9..80f5a51fdae 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -24,6 +24,13 @@
24;;; You should have received a copy of the GNU General Public License 24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 26
27;;; Commentary:
28;;;
29;;; This module provides an 'operating-system' definition for use on images
30;;; for USB sticks etc., for the installation of the GNU system.
31;;;
32;;; Code:
33
27(define-module (gnu system install) 34(define-module (gnu system install)
28 #:use-module ((guix licenses) #:prefix license:) 35 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (gnu) 36 #:use-module (gnu)
@@ -88,13 +95,6 @@
88 wandboard-installation-os 95 wandboard-installation-os
89 os-with-u-boot)) 96 os-with-u-boot))
90 97
91;;; Commentary:
92;;;
93;;; This module provides an 'operating-system' definition for use on images
94;;; for USB sticks etc., for the installation of the GNU system.
95;;;
96;;; Code:
97
98 98
99;;; 99;;;
100;;; Documentation service. 100;;; Documentation service.
diff --git a/gnu/system/keyboard.scm b/gnu/system/keyboard.scm
index 5bd13a44be4..672fbcde8c6 100644
--- a/gnu/system/keyboard.scm
+++ b/gnu/system/keyboard.scm
@@ -16,6 +16,14 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; This module provides a data structure to represent keyboard layouts
22;;; according to the XKB naming and classification (see the 'xkeyboard-config'
23;;; package).
24;;;
25;;; Code:
26
19(define-module (gnu system keyboard) 27(define-module (gnu system keyboard)
20 #:use-module (guix gexp) 28 #:use-module (guix gexp)
21 #:use-module ((gnu packages xorg) 29 #:use-module ((gnu packages xorg)
@@ -31,14 +39,6 @@
31 39
32 keyboard-layout->console-keymap)) 40 keyboard-layout->console-keymap))
33 41
34;;; Commentary:
35;;;
36;;; This module provides a data structure to represent keyboard layouts
37;;; according to the XKB naming and classification (see the 'xkeyboard-config'
38;;; package).
39;;;
40;;; Code:
41
42(define-immutable-record-type <keyboard-layout> 42(define-immutable-record-type <keyboard-layout>
43 (%keyboard-layout name variant model options) 43 (%keyboard-layout name variant model options)
44 keyboard-layout? 44 keyboard-layout?
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index b56e6cf5d42..4ea0a59e935 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -20,6 +20,13 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in
26;;; particular initrd's that run Guile.
27;;;
28;;; Code:
29
23(define-module (gnu system linux-initrd) 30(define-module (gnu system linux-initrd)
24 #:use-module (guix deprecation) 31 #:use-module (guix deprecation)
25 #:use-module (guix gexp) 32 #:use-module (guix gexp)
@@ -56,14 +63,6 @@
56 base-initrd)) 63 base-initrd))
57 64
58 65
59;;; Commentary:
60;;;
61;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in
62;;; particular initrd's that run Guile.
63;;;
64;;; Code:
65
66
67(define* (expression->initrd exp 66(define* (expression->initrd exp
68 #:key 67 #:key
69 (guile %guile-static-initrd) 68 (guile %guile-static-initrd)
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 37f6456e673..866e198b2f6 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -18,6 +18,12 @@
18;;; You should have received a copy of the GNU General Public License 18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21;;; Commentary:
22;;;
23;;; Locale definitions, and compilation thereof.
24;;;
25;;; Code:
26
21(define-module (gnu system locale) 27(define-module (gnu system locale)
22 #:use-module (guix gexp) 28 #:use-module (guix gexp)
23 #:use-module (guix store) 29 #:use-module (guix store)
@@ -43,12 +49,6 @@
43 49
44 glibc-supported-locales)) 50 glibc-supported-locales))
45 51
46;;; Commentary:
47;;;
48;;; Locale definitions, and compilation thereof.
49;;;
50;;; Code:
51
52(define-record-type* <locale-definition> locale-definition 52(define-record-type* <locale-definition> locale-definition
53 make-locale-definition 53 make-locale-definition
54 locale-definition? 54 locale-definition?
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index 8c32c3d3d4d..e7bb3eae726 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module supports "device mapping", a concept implemented by Linux's
25;;; device-mapper.
26;;;
27;;; Code:
28
22(define-module (gnu system mapped-devices) 29(define-module (gnu system mapped-devices)
23 #:use-module (guix gexp) 30 #:use-module (guix gexp)
24 #:use-module (guix records) 31 #:use-module (guix records)
@@ -72,13 +79,6 @@
72 raid-device-mapping 79 raid-device-mapping
73 lvm-device-mapping)) 80 lvm-device-mapping))
74 81
75;;; Commentary:
76;;;
77;;; This module supports "device mapping", a concept implemented by Linux's
78;;; device-mapper.
79;;;
80;;; Code:
81
82(define-record-type* <mapped-device> %mapped-device 82(define-record-type* <mapped-device> %mapped-device
83 make-mapped-device 83 make-mapped-device
84 mapped-device? 84 mapped-device?
diff --git a/gnu/system/nss.scm b/gnu/system/nss.scm
index 930f556e5e5..9beadf05cab 100644
--- a/gnu/system/nss.scm
+++ b/gnu/system/nss.scm
@@ -16,6 +16,12 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; Bindings for libc's name service switch (NSS) configuration.
22;;;
23;;; Code:
24
19(define-module (gnu system nss) 25(define-module (gnu system nss)
20 #:use-module (rnrs enums) 26 #:use-module (rnrs enums)
21 #:use-module (guix records) 27 #:use-module (guix records)
@@ -38,12 +44,6 @@
38 44
39 name-service-switch->string)) 45 name-service-switch->string))
40 46
41;;; Commentary:
42;;;
43;;; Bindings for libc's name service switch (NSS) configuration.
44;;;
45;;; Code:
46
47(define-record-type* <name-service> name-service 47(define-record-type* <name-service> name-service
48 make-name-service 48 make-name-service
49 name-service? 49 name-service?
diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm
index 83cf74d58ce..935419544a8 100644
--- a/gnu/system/pam.scm
+++ b/gnu/system/pam.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Configuration of the pluggable authentication modules (PAM).
23;;;
24;;; Code:
25
20(define-module (gnu system pam) 26(define-module (gnu system pam)
21 #:use-module (guix records) 27 #:use-module (guix records)
22 #:use-module (guix derivations) 28 #:use-module (guix derivations)
@@ -69,12 +75,6 @@
69 pam-root-service-type 75 pam-root-service-type
70 pam-root-service)) 76 pam-root-service))
71 77
72;;; Commentary:
73;;;
74;;; Configuration of the pluggable authentication modules (PAM).
75;;;
76;;; Code:
77
78;; PAM services (see 78;; PAM services (see
79;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.) 79;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.)
80(define-record-type* <pam-service> pam-service 80(define-record-type* <pam-service> pam-service
diff --git a/gnu/system/privilege.scm b/gnu/system/privilege.scm
index fe6e60ad7c4..26d9b2fe289 100644
--- a/gnu/system/privilege.scm
+++ b/gnu/system/privilege.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Data structures representing privileged programs: binaries with additional
23;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to
24;;; be used both on the host side and at run time--e.g., in activation snippets.
25;;;
26;;; Code:
27
20(define-module (gnu system privilege) 28(define-module (gnu system privilege)
21 #:use-module (guix records) 29 #:use-module (guix records)
22 #:export (privileged-program 30 #:export (privileged-program
@@ -30,14 +38,6 @@
30 38
31 file-like->setuid-program)) 39 file-like->setuid-program))
32 40
33;;; Commentary:
34;;;
35;;; Data structures representing privileged programs: binaries with additional
36;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to
37;;; be used both on the host side and at run time--e.g., in activation snippets.
38;;;
39;;; Code:
40
41(define-record-type* <privileged-program> 41(define-record-type* <privileged-program>
42 privileged-program make-privileged-program 42 privileged-program make-privileged-program
43 privileged-program? 43 privileged-program?
diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm
index 097797ce8d7..dab31dad5d2 100644
--- a/gnu/system/setuid.scm
+++ b/gnu/system/setuid.scm
@@ -17,6 +17,14 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Do not use this module in new code. It used to define data structures
23;;; representing setuid/setgid programs, but is now a mere compatibility shim
24;;; wrapping a subset of (gnu system privilege).
25;;;
26;;; Code:
27
20(define-module (gnu system setuid) 28(define-module (gnu system setuid)
21 #:use-module (gnu system privilege) 29 #:use-module (gnu system privilege)
22 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
@@ -30,14 +38,6 @@
30 setuid-program-user 38 setuid-program-user
31 setuid-program-group)) 39 setuid-program-group))
32 40
33;;; Commentary:
34;;;
35;;; Do not use this module in new code. It used to define data structures
36;;; representing setuid/setgid programs, but is now a mere compatibility shim
37;;; wrapping a subset of (gnu system privilege).
38;;;
39;;; Code:
40
41(define-syntax setuid-program 41(define-syntax setuid-program
42 (lambda (fields) 42 (lambda (fields)
43 (syntax-case fields () 43 (syntax-case fields ()
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index f864a4f692e..2cce6e828f6 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -21,6 +21,12 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.)
27;;;
28;;; Code:
29
24(define-module (gnu system shadow) 30(define-module (gnu system shadow)
25 #:use-module ((guix diagnostics) #:select (formatted-message)) 31 #:use-module ((guix diagnostics) #:select (formatted-message))
26 #:use-module (guix records) 32 #:use-module (guix records)
@@ -97,12 +103,6 @@
97 103
98 subids-service-type)) 104 subids-service-type))
99 105
100;;; Commentary:
101;;;
102;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.)
103;;;
104;;; Code:
105
106;; Change the default shell used by new <user-account> records. 106;; Change the default shell used by new <user-account> records.
107(default-shell (file-append bash "/bin/bash")) 107(default-shell (file-append bash "/bin/bash"))
108 108
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index a6a05862a5c..c4fc3e84745 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -22,6 +22,12 @@
22;;; You should have received a copy of the GNU General Public License 22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24 24
25;;; Commentary:
26;;;
27;;; Tools to evaluate build expressions within virtual machines.
28;;;
29;;; Code:
30
25(define-module (gnu system vm) 31(define-module (gnu system vm)
26 #:use-module (guix config) 32 #:use-module (guix config)
27 #:use-module (guix store) 33 #:use-module (guix store)
@@ -91,12 +97,6 @@
91 common-qemu-options)) 97 common-qemu-options))
92 98
93 99
94;;; Commentary:
95;;;
96;;; Tools to evaluate build expressions within virtual machines.
97;;;
98;;; Code:
99
100;; By default, the msize value is 8 KiB, which according to QEMU is 100;; By default, the msize value is 8 KiB, which according to QEMU is
101;; insufficient and would degrade performance. The msize value should roughly 101;; insufficient and would degrade performance. The msize value should roughly
102;; match the bandwidth of the system's IO (see: 102;; match the bandwidth of the system's IO (see: