M CODEOWNERS => CODEOWNERS +2 -1
@@ 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
M Makefile.am => Makefile.am +6 -4
@@ 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.
A etc/manifests/release-desktop.scm => etc/manifests/release-desktop.scm +167 -0
@@ 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
R etc/manifests/release.scm => etc/manifests/release-minimal.scm +10 -10
@@ 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.
M etc/teams.scm => etc/teams.scm +2 -1
@@ 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