Hi Ludo and Aiko, Ludovic Courtès <l...@gnu.org> writes:
> I’d rather not move things and fix the bug in the same commit. (I’m not > even convinced sddm needs to leave its own module, plus it would break > the API, which is not something to do lightly.) You're right! I was able to avoid moving the (gnu services sddm) module by autoloading it from (gnu services xorg). I've committed the fix as 79260c8695cc5e3cd64f5b01e262369d5a67f141, along with two commits that update the guix package. > Thanks for fixing it! > > And yes, we’ll need to update the ‘guix’ package once this fix is in. Thank you for the review! Aiko, can you confirm that after running "guix pull" the issue is resolved on your end, too? -- Chris PGP: https://savannah.gnu.org/people/viewgpg.php?user_id=106836
From 79260c8695cc5e3cd64f5b01e262369d5a67f141 Mon Sep 17 00:00:00 2001 From: Chris Marusich <cmmarus...@gmail.com> Date: Thu, 6 Jan 2022 18:43:47 -0800 Subject: [PATCH] services: Consistently use SDDM rather than GDM on non-x86_64. This is a follow-up to 49599fab564f203b8e92d32e9b28c99e99849bfb. Fixes: <https://issues.guix.gnu.org/52908>. * gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: When the current system or target system begins with the string "x86_64", use gdm-service-type as before; otherwise, use sddm-service-type. * gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the list of service types to remove. --- gnu/services/xorg.scm | 11 ++++++++++- gnu/system/examples/vm-image.tmpl | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 82a7d25602..35f8dbc5f8 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2021 Brice Waegeneire <br...@waegenei.re> ;;; Copyright © 2021 Oleg Pykhalov <go.wig...@gmail.com> ;;; Copyright © 2021 Josselin Poiret <josselin.poi...@protonmail.ch> +;;; Copyright © 2022 Chris Marusich <cmmarus...@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu services xorg) + #:autoload (gnu services sddm) (sddm-service-type) #:use-module (gnu artwork) #:use-module (gnu services) #:use-module (gnu services shepherd) @@ -1040,10 +1042,17 @@ the GNOME desktop environment.") "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 (gdm -> gnome-shell -> gjs -> mozjs -> rust) +;; and Rust is currently unavailable on non-x86_64 platforms, default to +;; SDDM there (FIXME). (define* (set-xorg-configuration config #:optional (login-manager-service-type - gdm-service-type)) + (let ((system (or (%current-target-system) + (%current-system)))) + (if (string-prefix? "x86_64" system) + gdm-service-type + sddm-service-type)))) "Tell the log-in manager (of type @var{login-manager-service-type}) to use @var{config}, an <xorg-configuration> record." (simple-service 'set-xorg-configuration diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl index a59d91587b..ccb0b045db 100644 --- a/gnu/system/examples/vm-image.tmpl +++ b/gnu/system/examples/vm-image.tmpl @@ -5,7 +5,7 @@ ;; (use-modules (gnu) (guix) (srfi srfi-1)) -(use-service-modules desktop mcron networking spice ssh xorg) +(use-service-modules desktop mcron networking spice ssh xorg sddm) (use-package-modules bootloaders certs fonts nvi package-management wget xorg) @@ -107,12 +107,12 @@ root ALL=(ALL) ALL ;; Use the DHCP client service rather than NetworkManager. (service dhcp-client-service-type)) - ;; Remove GDM, ModemManager, NetworkManager, and wpa-supplicant, - ;; which don't make sense in a VM. + ;; Remove some services that don't make sense in a VM. (remove (lambda (service) (let ((type (service-kind service))) (or (memq type (list gdm-service-type + sddm-service-type wpa-supplicant-service-type cups-pk-helper-service-type network-manager-service-type base-commit: c4240dfdb433239108edaf12acb5c51138f9dc74 -- 2.30.2
signature.asc
Description: PGP signature