guix_mirror_bot pushed a commit to branch version-1.5.0 in repository guix.
commit 6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742 Author: Rutherther <[email protected]> AuthorDate: Sat Jan 17 12:28:34 2026 +0100 gnu: %desktop-services: Switch to GDM on 64-bit systems. * gnu/services/desktop.scm (desktop-services-for-system): Use gdm on all 64-bit systems. * gnu/services/xorg.scm (set-xorg-configuration): Adapt to desktop-services-for-system change. * gnu/system/examples/desktop.tmpl: Determine the support of Gnome by checking for supported package. Fixes: #5388 Change-Id: I0d512a7c31188cea0335e66f00a6d65ae59d09a4 Signed-off-by: Rutherther <[email protected]> --- gnu/services/desktop.scm | 9 ++++----- gnu/services/xorg.scm | 10 +++++----- gnu/system/examples/desktop.tmpl | 18 ++++++++++-------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 59dc5b3474..52f9acaafe 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -2520,11 +2520,10 @@ applications needing access to be root.") (%current-system)))) ;; List of services typically useful for a "desktop" use case. - ;; Since GDM depends on Rust and Rust is not available on all platforms, - ;; use SDDM as the fall-back display manager. - ;; TODO: Switch the condition to use (supported-package? "rust") and make - ;; a news entry about the change. - (cons* (if (string-prefix? "x86_64" system) + ;; FIXME: Since GDM depends on more dependencies that do not build on i686, + ;; keep SDDM on it for the time being. + ;; XXX: When changing login manager, also change set-xorg-configuration + (cons* (if (target-64bit? system) (service gdm-service-type) (service sddm-service-type)) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 25f44566be..d46236ef7e 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -1379,14 +1379,14 @@ polkit.addRule(function(action, subject) { "Run the GNOME Desktop Manager (GDM), a program that allows you to log in in a graphical session, whether or not you use GNOME.")))) -;; Since GDM depends on Rust and Rust is not available on all platforms, -;; use SDDM as the fall-back display manager. -;; TODO: Switch the condition to take into account if Rust is supported and -;; match the configuration in desktop-services-for-system. + +;; FIXME: Since GDM depends on more dependencies that do not build on i686, +;; keep SDDM on it for the time being. +;; XXX: When changing this, also change desktop-services-for-system (define* (set-xorg-configuration config #:optional (login-manager-service-type - (if (target-x86-64?) + (if (target-64bit?) gdm-service-type sddm-service-type))) "Tell the log-in manager (of type @var{login-manager-service-type}) to use diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 2d65f22294..afe5ae2d2b 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -3,7 +3,8 @@ ;; for a "desktop" setup with GNOME and Xfce where the ;; root partition is encrypted with LUKS, and a swap file. -(use-modules (gnu) (gnu system nss) (guix utils)) +(use-modules (gnu) (gnu system nss) (guix utils) + (guix packages)) (use-service-modules desktop sddm xorg) (use-package-modules gnome) @@ -73,7 +74,10 @@ ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. - (services (if (target-x86-64?) + (services (if (supported-package? gnome + (or (and=> (%current-target-system) + gnu-triplet->nix-system) + (%current-system))) (append (list (service gnome-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration @@ -81,16 +85,14 @@ (keyboard-layout keyboard-layout)))) %desktop-services) - ;; FIXME: Since GDM depends on Rust (gdm -> gnome-shell -> gjs - ;; -> mozjs -> rust) and Rust is currently unavailable on - ;; non-x86_64 platforms, we use SDDM and Mate here instead of - ;; GNOME and GDM. + ;; FIXME: Since Gnome depends on Rust and Rust is currently + ;; unavailable on some platforms, we use MATE here instead of + ;; GNOME. (append (list (service mate-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration - (keyboard-layout keyboard-layout)) - sddm-service-type)) + (keyboard-layout keyboard-layout)))) %desktop-services))) ;; Allow resolution of '.local' host names with mDNS.
