summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRutherther <rutherther@ditigal.xyz>2025-10-29 19:04:11 +0100
committerEfraim Flashner <efraim@flashner.co.il>2025-11-23 10:52:25 +0200
commit48ca0285116331e5fe29494191d64988f68fc4ff (patch)
treee205aac2f8dc9eab5758ef0d7fa13c3e252147da
parent5baaa0da3ab2cb969942acfc6d2ae09ee8561365 (diff)
manifests: Split release manifest to two.
As stated in the manifest, use two release manifests: 1. Minimal one 2. Full one with all the desktop services enabled. * etc/manifests/release.scm: Move to etc/manifests/release-minimal.scm. * etc/manifests/release-minimal.scm (%system-packages): Add packages from default privileged-programs. Add %base-firmware. Add %base-packages. Remove desktops. Remove xorg modules. * etc/teams.scm (release): Add new splitted manifests. * Makefile.am (EXTRA_DIST): Remove release manifest; Add manifests release-minimal and release-desktop. (assert-binaries-available): Use new splitted release manifest. * etc/manifests/release-desktop.scm (%system-packages): Add desktops. Add xorg modules. * CODEOWNERS: Regenerate file. Change-Id: I40de8b5d0f9c8b630e8af7969d4c195dd9e2c3e2 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--CODEOWNERS3
-rw-r--r--Makefile.am10
-rw-r--r--etc/manifests/release-desktop.scm167
-rw-r--r--etc/manifests/release-minimal.scm (renamed from etc/manifests/release.scm)20
-rwxr-xr-xetc/teams.scm3
5 files changed, 187 insertions, 16 deletions
diff --git a/CODEOWNERS b/CODEOWNERS
index 762f95ed4ad..ad2473c187b 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -309,7 +309,8 @@ gnu/packages/chez\.scm @guix/racket
309gnu/packages/racket\.scm @guix/racket 309gnu/packages/racket\.scm @guix/racket
310 310
311NEWS @guix/release 311NEWS @guix/release
312etc/manifests/release\.scm @guix/release 312etc/manifests/release-minimal\.scm @guix/release
313etc/manifests/release-desktop\.scm @guix/release
313 314
314gnu/packages/diffoscope\.scm @guix/reproduciblebuilds 315gnu/packages/diffoscope\.scm @guix/reproduciblebuilds
315 316
diff --git a/Makefile.am b/Makefile.am
index 459f3f4b6b7..301fa97f402 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -784,7 +784,8 @@ EXTRA_DIST += \
784 etc/manifests/disarchive.scm \ 784 etc/manifests/disarchive.scm \
785 etc/manifests/hurd.scm \ 785 etc/manifests/hurd.scm \
786 etc/manifests/kernels.scm \ 786 etc/manifests/kernels.scm \
787 etc/manifests/release.scm \ 787 etc/manifests/release-minimal.scm \
788 etc/manifests/release-desktop.scm \
788 etc/manifests/source.scm \ 789 etc/manifests/source.scm \
789 etc/manifests/system-tests.scm \ 790 etc/manifests/system-tests.scm \
790 etc/manifests/time-travel.scm \ 791 etc/manifests/time-travel.scm \
@@ -1240,9 +1241,10 @@ assert-no-store-file-names:
1240# Make sure installer substitutes are available. Check only the primary 1241# Make sure installer substitutes are available. Check only the primary
1241# server so that '--display-missing' doesn't print two lists. 1242# server so that '--display-missing' doesn't print two lists.
1242assert-binaries-available: $(GOBJECTS) 1243assert-binaries-available: $(GOBJECTS)
1243 $(AM_V_at)$(top_builddir)/pre-inst-env \ 1244 $(AM_V_at)$(top_builddir)/pre-inst-env \
1244 guix weather -m "$(top_srcdir)/etc/manifests/release.scm" \ 1245 guix weather -m "$(top_srcdir)/etc/manifests/release-minimal.scm" \
1245 --substitute-urls="https://ci.guix.gnu.org" \ 1246 -m "$(top_srcdir)/etc/manifests/release-desktop.scm" \
1247 --substitute-urls="https://ci.guix.gnu.org" \
1246 --display-missing 1248 --display-missing
1247 1249
1248# Make sure the final inputs don't refer to bootstrap tools. 1250# Make sure the final inputs don't refer to bootstrap tools.
diff --git a/etc/manifests/release-desktop.scm b/etc/manifests/release-desktop.scm
new file mode 100644
index 00000000000..89175418bc2
--- /dev/null
+++ b/etc/manifests/release-desktop.scm
@@ -0,0 +1,167 @@
1;;; GNU Guix --- Functional package management for GNU
2;;;
3;;; This file is part of GNU Guix.
4;;;
5;;; GNU Guix is free software; you can redistribute it and/or modify it
6;;; under the terms of the GNU General Public License as published by
7;;; the Free Software Foundation; either version 3 of the License, or (at
8;;; your option) any later version.
9;;;
10;;; GNU Guix is distributed in the hope that it will be useful, but
11;;; WITHOUT ANY WARRANTY; without even the implied warranty of
12;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13;;; GNU General Public License for more details.
14;;;
15;;; You should have received a copy of the GNU General Public License
16;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
17
18;;; This file returns a manifest containing packages which are needed by the
19;;; installer.
20
21(use-modules (guix packages)
22 (gnu packages)
23 ((gnu services xorg) #:select (%default-xorg-modules))
24 (guix profiles)
25 (guix utils)
26 (srfi srfi-1))
27
28(define %desktop-packages
29 (append
30 %default-xorg-modules
31 (map specification->package
32 (list
33 ;; etc-service
34 "net-base"
35 "tzdata"
36 ;; boot-file-system-utilities-service
37 "e2fsprogs"
38 ;; plasma-deskto-sservice-type
39 "plasma"
40 ;; gnome-desktop-service
41 "gnome"
42 ;; xfce-desktop-service
43 "xfce"
44 ;; mate-desktop-service
45 "mate"
46 ;; set-xorg-configuration-service
47 "font-alias"
48 "font-misc-misc"
49 "font-adobe75dpi"
50 "xorg-server"
51 ;; screen-locker-service
52 "slock"
53 "xlockmore"
54 ;; mtp-service
55 "libmtp"
56 ;; sane-service
57 "sane"
58 "sane-backends"
59 ;; mount-setuid-helpers-service
60 "nfs-utils"
61 "ntfs-3g"
62 ;; guix-artwork-service
63 "guix-backgrounds"
64 "guix-icons"
65 ;; vte-integration-service
66 "vte"
67 ;; network-manager-applet-service
68 "network-manager-applet"
69 ;; modem-manager-service
70 "modem-manager"
71 ;; usb-modeswitch-service
72 "usb-modeswitch"
73 "usb-modeswitch-data"
74 ;; avahi-service
75 "avahi"
76 ;; udisks-service
77 "udisks"
78 ;; cups-pk-helper-service
79 "cups-pk-helper"
80 ;; colord-service
81 "colord"
82 ;; geoclue-service
83 "geoclue"
84 ;; polkit-service
85 "polkit"
86 ;; elogind-service
87 "elogind"
88 ;; dbus-service
89 ;; ntp-service
90 "ntp"
91 ;; alsa-service
92 "alsa-plugins"
93 ;; mingetty-service
94 "mingetty"
95 ;; etc-bashrc-d-service
96 "bash-completion"
97 ;; udev-service
98 "eudev"
99 "lvm2"
100 "alsa-utils"
101 "crda"
102 ;; sysctl-service
103 "procps"
104 ;; special-files-service
105 "coreutils"
106 "grub-pc"
107 "less"
108 "mg"
109 "nano"
110 "nvi"
111 "man-db"
112 "info-reader"
113 "kbd"
114 "guile-readline"
115 "guile-colorized"
116 "pciutils"
117 "usbutils"
118 "util-linux-with-udev"
119 "kmod"
120 "isc-dhcp"
121 "iproute2"
122 "wget"
123 "nss-certs"
124 "iw"
125 "wireless-tools"
126 "psmisc"
127 "which"
128 "guile"
129 "findutils"
130 "grep"
131 "sed"
132 "diffutils"
133 "patch"
134 "gawk"
135 "tar"
136 "gzip"
137 "bzip2"
138 "lzip"
139 "xz"
140 "zstd"
141 ;; packages
142 "sway"
143 "foot"
144 "wmenu"
145 "icewm"
146 "openbox"
147 "awesome"
148 "i3-wm"
149 "i3status"
150 "dmenu"
151 "st"
152 "ratpoison"
153 "xterm"
154 "emacs"
155 "emacs-exwm"
156 "emacs-desktop-environment"))))
157
158(define %desktop-manifest
159 (manifest
160 ;; Some of %SYSTEM-PACKAGES are currently unsupported on some
161 ;; systems--e.g., GNOME on 32-bit, due to Rust. Filter them out.
162 (filter-map (lambda (package)
163 (and (supported-package? package (%current-system))
164 (package->manifest-entry package)))
165 (append %desktop-packages))))
166
167%desktop-manifest
diff --git a/etc/manifests/release.scm b/etc/manifests/release-minimal.scm
index 2c0d82d67fc..16ccd161422 100644
--- a/etc/manifests/release.scm
+++ b/etc/manifests/release-minimal.scm
@@ -23,7 +23,9 @@
23;;; installer. 23;;; installer.
24 24
25(use-modules (guix packages) 25(use-modules (guix packages)
26 ((gnu services xorg) #:select (%default-xorg-modules)) 26 (gnu packages)
27 ((gnu system) #:select (%base-packages %base-firmware))
28 (guix profiles)
27 (guix utils) 29 (guix utils)
28 (srfi srfi-1)) 30 (srfi srfi-1))
29 31
@@ -44,16 +46,14 @@ TARGET."
44(define %system-packages 46(define %system-packages
45 ;; Key packages proposed by the Guix System installer. 47 ;; Key packages proposed by the Guix System installer.
46 (append (map specification->package 48 (append (map specification->package
47 '("guix" "shepherd" 49 '("guix" "shepherd" "guile-static-initrd"
48 "gnome" "xfce" "mate" 50 "openssh" "tor" "ntp" "gpm" "mingetty"
49 "icewm" "openbox" "awesome"
50 "i3-wm" "i3status" "dmenu" "st"
51 "ratpoison" "xterm"
52 "emacs" "emacs-exwm" "emacs-desktop-environment"
53 "openssh" "tor" "ntp" "gpm"
54 "connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups" 51 "connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
55 "linux-libre" "grub-hybrid")) 52 "linux-libre" "grub-hybrid"
56 %default-xorg-modules)) 53 ;; privileged programs
54 "shadow" "sudo" "fuse" "inetutils" "util-linux"))
55 %base-firmware
56 %base-packages))
57 57
58(define %bootloader-packages 58(define %bootloader-packages
59 ;; The bootloaders offered by the Guix System installer. 59 ;; The bootloaders offered by the Guix System installer.
diff --git a/etc/teams.scm b/etc/teams.scm
index e5b1575ba93..b5dbc63e2f3 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -924,7 +924,8 @@ importer."
924 "The current release team. Members are expected to change with each 924 "The current release team. Members are expected to change with each
925release." 925release."
926 #:scope (list "NEWS" 926 #:scope (list "NEWS"
927 "etc/manifests/release.scm"))) 927 "etc/manifests/release-minimal.scm"
928 "etc/manifests/release-desktop.scm")))
928 929
929(define-team reproduciblebuilds 930(define-team reproduciblebuilds
930 (team 'reproduciblebuilds 931 (team 'reproduciblebuilds