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.

Reply via email to