gnu: Add gnome-minimal desktop services.

* gnu/services/desktop.scm (gnome-minimal-desktop-service-type): New variable.
(%gnome-minimal-desktop-services): New variable.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
Raghav Gururajan 2020-08-18 11:10:00 -04:00 committed by Danny Milosavljevic
parent 622e1a0ee8
commit 0014697ac4
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -895,6 +895,11 @@ (define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
gnome-desktop-configuration?
(gnome gnome-package (default gnome)))
(define-record-type* <gnome-minimal-desktop-configuration> gnome-minimal-desktop-configuration
make-gnome-minimal-desktop-configuration
gnome-minimal-desktop-configuration?
(gnome-minimal gnome-minimal-package (default gnome-minimal)))
(define (gnome-polkit-packages config)
"Return the list of GNOME dependencies that provide polkit actions and
rules."
@ -909,6 +914,19 @@ (define (gnome-polkit-packages config)
"gvfs"
"gnome-system-monitor"))))
(define (gnome-minimal-polkit-packages config)
"Return the list of GNOME dependencies that provide polkit actions and
rules."
(let ((gnome-minimal (gnome-minimal-package config)))
(map (lambda (name)
((package-direct-input-selector name) gnome-minimal))
'("accountsservice"
"network-manager"
"gnome-control-center"
"gnome-initial-setup"
"gnome-settings-daemon"
"gvfs"))))
(define (gnome-udev-packages config)
"Return the list of GNOME dependencies that provide udev actions and
rules."
@ -920,6 +938,17 @@ (define (gnome-udev-packages config)
"gdm"
"gnome-settings-daemon"))))
(define (gnome-minimal-udev-packages config)
"Return the list of GNOME dependencies that provide udev actions and
rules."
(let ((gnome-minimal (gnome-minimal-package config)))
(map (lambda (name)
((package-direct-input-selector name) gnome-minimal))
'("network-manager"
"upower"
"gdm"
"gnome-settings-daemon"))))
(define (gnome-dbus-packages config)
"Return the list of GNOME dependencies that provide dbus actions and
rules."
@ -959,6 +988,23 @@ (define (gnome-dbus-packages config)
"nautilus"
"totem"))))
(define (gnome-minimal-dbus-packages config)
"Return the list of GNOME dependencies that provide dbus actions and
rules."
(let ((gnome-minimal (gnome-minimal-package config)))
(map (lambda (name)
((package-direct-input-selector name) gnome-minimal))
'("accountsservice"
"network-manager"
"upower"
"gdm"
"gnome-control-center"
"gnome-keyring"
"gnome-shell"
"gvfs"
"rygel"
"sushi"))))
(define gnome-desktop-service-type
(service-type
(name 'gnome-desktop)
@ -975,6 +1021,22 @@ (define gnome-desktop-service-type
(default-value (gnome-desktop-configuration))
(description "Run the GNOME desktop environment.")))
(define gnome-minimal-desktop-service-type
(service-type
(name 'gnome-minimal-desktop)
(extensions
(list (service-extension polkit-service-type
gnome-minimal-polkit-packages)
(service-extension udev-service-type
gnome-minimal-udev-packages)
(service-extension dbus-root-service-type
gnome-minimal-udev-packages)
(service-extension profile-service-type
(compose list
gnome-minimal-package))))
(default-value (gnome-minimal-desktop-configuration))
(description "Run the GNOME desktop environment.")))
(define-deprecated (gnome-desktop-service #:key (config
(gnome-desktop-configuration)))
gnome-desktop-service-type
@ -1353,4 +1415,14 @@ (define %gnome-desktop-services
(modify-services %generic-desktop-services
(delete slim-service-type))))
(define %gnome-minimal-desktop-services
;; Services for GNOME desktop environment.
(append
(list
(service gdm-service-type)
(service gnome-minimal-desktop-service-type)
(service gnome-keyring-service-type))
(modify-services %generic-desktop-services
(delete slim-service-type))))
;;; desktop.scm ends here