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>
This commit is contained in:
Rutherther 2025-10-29 19:04:11 +01:00 committed by Efraim Flashner
parent 5baaa0da3a
commit 48ca028511
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
5 changed files with 187 additions and 16 deletions

View file

@ -309,7 +309,8 @@ gnu/packages/chez\.scm @guix/racket
gnu/packages/racket\.scm @guix/racket
NEWS @guix/release
etc/manifests/release\.scm @guix/release
etc/manifests/release-minimal\.scm @guix/release
etc/manifests/release-desktop\.scm @guix/release
gnu/packages/diffoscope\.scm @guix/reproduciblebuilds

View file

@ -784,7 +784,8 @@ EXTRA_DIST += \
etc/manifests/disarchive.scm \
etc/manifests/hurd.scm \
etc/manifests/kernels.scm \
etc/manifests/release.scm \
etc/manifests/release-minimal.scm \
etc/manifests/release-desktop.scm \
etc/manifests/source.scm \
etc/manifests/system-tests.scm \
etc/manifests/time-travel.scm \
@ -1240,9 +1241,10 @@ assert-no-store-file-names:
# Make sure installer substitutes are available. Check only the primary
# server so that '--display-missing' doesn't print two lists.
assert-binaries-available: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env \
guix weather -m "$(top_srcdir)/etc/manifests/release.scm" \
--substitute-urls="https://ci.guix.gnu.org" \
$(AM_V_at)$(top_builddir)/pre-inst-env \
guix weather -m "$(top_srcdir)/etc/manifests/release-minimal.scm" \
-m "$(top_srcdir)/etc/manifests/release-desktop.scm" \
--substitute-urls="https://ci.guix.gnu.org" \
--display-missing
# Make sure the final inputs don't refer to bootstrap tools.

View file

@ -0,0 +1,167 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest containing packages which are needed by the
;;; installer.
(use-modules (guix packages)
(gnu packages)
((gnu services xorg) #:select (%default-xorg-modules))
(guix profiles)
(guix utils)
(srfi srfi-1))
(define %desktop-packages
(append
%default-xorg-modules
(map specification->package
(list
;; etc-service
"net-base"
"tzdata"
;; boot-file-system-utilities-service
"e2fsprogs"
;; plasma-deskto-sservice-type
"plasma"
;; gnome-desktop-service
"gnome"
;; xfce-desktop-service
"xfce"
;; mate-desktop-service
"mate"
;; set-xorg-configuration-service
"font-alias"
"font-misc-misc"
"font-adobe75dpi"
"xorg-server"
;; screen-locker-service
"slock"
"xlockmore"
;; mtp-service
"libmtp"
;; sane-service
"sane"
"sane-backends"
;; mount-setuid-helpers-service
"nfs-utils"
"ntfs-3g"
;; guix-artwork-service
"guix-backgrounds"
"guix-icons"
;; vte-integration-service
"vte"
;; network-manager-applet-service
"network-manager-applet"
;; modem-manager-service
"modem-manager"
;; usb-modeswitch-service
"usb-modeswitch"
"usb-modeswitch-data"
;; avahi-service
"avahi"
;; udisks-service
"udisks"
;; cups-pk-helper-service
"cups-pk-helper"
;; colord-service
"colord"
;; geoclue-service
"geoclue"
;; polkit-service
"polkit"
;; elogind-service
"elogind"
;; dbus-service
;; ntp-service
"ntp"
;; alsa-service
"alsa-plugins"
;; mingetty-service
"mingetty"
;; etc-bashrc-d-service
"bash-completion"
;; udev-service
"eudev"
"lvm2"
"alsa-utils"
"crda"
;; sysctl-service
"procps"
;; special-files-service
"coreutils"
"grub-pc"
"less"
"mg"
"nano"
"nvi"
"man-db"
"info-reader"
"kbd"
"guile-readline"
"guile-colorized"
"pciutils"
"usbutils"
"util-linux-with-udev"
"kmod"
"isc-dhcp"
"iproute2"
"wget"
"nss-certs"
"iw"
"wireless-tools"
"psmisc"
"which"
"guile"
"findutils"
"grep"
"sed"
"diffutils"
"patch"
"gawk"
"tar"
"gzip"
"bzip2"
"lzip"
"xz"
"zstd"
;; packages
"sway"
"foot"
"wmenu"
"icewm"
"openbox"
"awesome"
"i3-wm"
"i3status"
"dmenu"
"st"
"ratpoison"
"xterm"
"emacs"
"emacs-exwm"
"emacs-desktop-environment"))))
(define %desktop-manifest
(manifest
;; Some of %SYSTEM-PACKAGES are currently unsupported on some
;; systems--e.g., GNOME on 32-bit, due to Rust. Filter them out.
(filter-map (lambda (package)
(and (supported-package? package (%current-system))
(package->manifest-entry package)))
(append %desktop-packages))))
%desktop-manifest

View file

@ -23,7 +23,9 @@
;;; installer.
(use-modules (guix packages)
((gnu services xorg) #:select (%default-xorg-modules))
(gnu packages)
((gnu system) #:select (%base-packages %base-firmware))
(guix profiles)
(guix utils)
(srfi srfi-1))
@ -44,16 +46,14 @@ TARGET."
(define %system-packages
;; Key packages proposed by the Guix System installer.
(append (map specification->package
'("guix" "shepherd"
"gnome" "xfce" "mate"
"icewm" "openbox" "awesome"
"i3-wm" "i3status" "dmenu" "st"
"ratpoison" "xterm"
"emacs" "emacs-exwm" "emacs-desktop-environment"
"openssh" "tor" "ntp" "gpm"
'("guix" "shepherd" "guile-static-initrd"
"openssh" "tor" "ntp" "gpm" "mingetty"
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
"linux-libre" "grub-hybrid"))
%default-xorg-modules))
"linux-libre" "grub-hybrid"
;; privileged programs
"shadow" "sudo" "fuse" "inetutils" "util-linux"))
%base-firmware
%base-packages))
(define %bootloader-packages
;; The bootloaders offered by the Guix System installer.

View file

@ -924,7 +924,8 @@ importer."
"The current release team. Members are expected to change with each
release."
#:scope (list "NEWS"
"etc/manifests/release.scm")))
"etc/manifests/release-minimal.scm"
"etc/manifests/release-desktop.scm")))
(define-team reproduciblebuilds
(team 'reproduciblebuilds