~ruther/guix-local

48ca0285116331e5fe29494191d64988f68fc4ff — Rutherther 6 months ago 5baaa0d
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>
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