summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghav Gururajan <raghavgururajan@disroot.org>2020-08-18 11:10:00 -0400
committerDanny Milosavljevic <dannym@scratchpost.org>2020-08-19 19:04:09 +0200
commit0014697ac4e063a8e22dd2e6c0b9ee4b5bd6970e (patch)
tree312c06078a77be1cbe245f95461dfbe94ba0f40d
parent622e1a0ee87937d092e640f4aef6eb6b6ed7ac0d (diff)
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>
-rw-r--r--gnu/services/desktop.scm72
1 files changed, 72 insertions, 0 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 037205e30f..2c088f0102 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -895,6 +895,11 @@ rules.")
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 @@ rules."
"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 @@ rules."
"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 @@ rules."
"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 @@ rules."
(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 @@ or setting its password with passwd.")))
(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