- (service-type (name 'gdm)
- (extensions
- (list (service-extension shepherd-root-service-type
- gdm-shepherd-service)
- (service-extension account-service-type
- (const %gdm-accounts))
- (service-extension pam-root-service-type
- gdm-pam-service)
- (service-extension profile-service-type
- gdm-configuration-gnome-shell-assets)
- (service-extension dbus-root-service-type
- (compose list
- gdm-configuration-gdm))
- (service-extension localed-service-type
- (compose
- xorg-configuration-keyboard-layout
- gdm-configuration-xorg))))
-
- ;; For convenience, this service can be extended with an
- ;; <xorg-configuration> record. Take the first one that
- ;; comes.
- (compose (lambda (extensions)
- (match extensions
- (() #f)
- ((config . _) config))))
- (extend (lambda (config xorg-configuration)
- (if xorg-configuration
- (gdm-configuration
- (inherit config)
- (xorg-configuration xorg-configuration))
- config)))
-
- (default-value (gdm-configuration))
- (description
- "Run the GNOME Desktop Manager (GDM), a program that allows
-you to log in in a graphical session, whether or not you use GNOME.")))
+ (handle-xorg-configuration gdm-configuration
+ (service-type (name 'gdm)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ gdm-shepherd-service)
+ (service-extension activation-service-type
+ (const %gdm-activation))
+ (service-extension account-service-type
+ (const %gdm-accounts))
+ (service-extension pam-root-service-type
+ gdm-pam-service)
+ (service-extension profile-service-type
+ gdm-configuration-gnome-shell-assets)
+ (service-extension dbus-root-service-type
+ (compose list
+ gdm-configuration-gdm))
+ (service-extension localed-service-type
+ (compose
+ xorg-configuration-keyboard-layout
+ gdm-configuration-xorg))))
+ (default-value (gdm-configuration))
+ (description
+ "Run the GNOME Desktop Manager (GDM), a program that allows
+you to log in in a graphical session, whether or not you use GNOME."))))