guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: services: Consistently use SDDM rather than GDM on non-x86_64.


From: guix-commits
Subject: 01/03: services: Consistently use SDDM rather than GDM on non-x86_64.
Date: Thu, 6 Jan 2022 23:28:15 -0500 (EST)

marusich pushed a commit to branch master
in repository guix.

commit 79260c8695cc5e3cd64f5b01e262369d5a67f141
Author: Chris Marusich <cmmarusich@gmail.com>
AuthorDate: Thu Jan 6 18:43:47 2022 -0800

    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 <brice@waegenei.re>
 ;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
+;;; Copyright © 2022 Chris Marusich <cmmarusich@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]