mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 13:49:23 -05:00
services: Consistently use SDDM rather than GDM on non-x86_64.
This is a follow-up to 49599fab56
.
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.
This commit is contained in:
parent
c4240dfdb4
commit
79260c8695
2 changed files with 13 additions and 4 deletions
|
@ -11,6 +11,7 @@
|
||||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
||||||
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
|
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
|
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
|
||||||
|
;;; Copyright © 2022 Chris Marusich <cmmarusich@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu services xorg)
|
(define-module (gnu services xorg)
|
||||||
|
#:autoload (gnu services sddm) (sddm-service-type)
|
||||||
#:use-module (gnu artwork)
|
#:use-module (gnu artwork)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
|
@ -1040,10 +1042,17 @@ (define gdm-service-type
|
||||||
"Run the GNOME Desktop Manager (GDM), a program that allows
|
"Run the GNOME Desktop Manager (GDM), a program that allows
|
||||||
you to log in in a graphical session, whether or not you use GNOME."))))
|
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
|
(define* (set-xorg-configuration config
|
||||||
#:optional
|
#:optional
|
||||||
(login-manager-service-type
|
(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
|
"Tell the log-in manager (of type @var{login-manager-service-type}) to use
|
||||||
@var{config}, an <xorg-configuration> record."
|
@var{config}, an <xorg-configuration> record."
|
||||||
(simple-service 'set-xorg-configuration
|
(simple-service 'set-xorg-configuration
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(use-modules (gnu) (guix) (srfi srfi-1))
|
(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
|
(use-package-modules bootloaders certs fonts nvi
|
||||||
package-management wget xorg)
|
package-management wget xorg)
|
||||||
|
|
||||||
|
@ -107,12 +107,12 @@ root ALL=(ALL) ALL
|
||||||
;; Use the DHCP client service rather than NetworkManager.
|
;; Use the DHCP client service rather than NetworkManager.
|
||||||
(service dhcp-client-service-type))
|
(service dhcp-client-service-type))
|
||||||
|
|
||||||
;; Remove GDM, ModemManager, NetworkManager, and wpa-supplicant,
|
;; Remove some services that don't make sense in a VM.
|
||||||
;; which don't make sense in a VM.
|
|
||||||
(remove (lambda (service)
|
(remove (lambda (service)
|
||||||
(let ((type (service-kind service)))
|
(let ((type (service-kind service)))
|
||||||
(or (memq type
|
(or (memq type
|
||||||
(list gdm-service-type
|
(list gdm-service-type
|
||||||
|
sddm-service-type
|
||||||
wpa-supplicant-service-type
|
wpa-supplicant-service-type
|
||||||
cups-pk-helper-service-type
|
cups-pk-helper-service-type
|
||||||
network-manager-service-type
|
network-manager-service-type
|
||||||
|
|
Loading…
Reference in a new issue