summaryrefslogtreecommitdiff
path: root/etc/manifests
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 /etc/manifests
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>
Diffstat (limited to 'etc/manifests')
-rw-r--r--etc/manifests/release-desktop.scm167
-rw-r--r--etc/manifests/release-minimal.scm (renamed from etc/manifests/release.scm)20
2 files changed, 177 insertions, 10 deletions
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 @@
+;;; 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
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 @@
;;; 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.