diff options
-rw-r--r-- | doc/guix.texi | 22 | ||||
-rw-r--r-- | gnu/services/desktop.scm | 32 |
2 files changed, 52 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index a7ef00f421..73e3d1aa92 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -30,7 +30,7 @@ Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* -Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus@* +Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner@* @@ -23180,6 +23180,26 @@ The LXQT package to use. @end table @end deftp +@defvar sugar-desktop-service-type +This is the type of the service that runs the +@uref{https://www.sugarlabs.org, Sugar desktop environment}. Its value +is a @code{sugar-desktop-configuration} object (see below). + +This service adds the @code{sugar} package to the system profile. It +does not install any Sugar Activity. Add packages providing activities +to the list of packages to be installed globally to make them available +to users of the Sugar desktop environment. +@end defvar + +@deftp {Data Type} sugar-desktop-configuration +Configuration record for the Sugar desktop environment. + +@table @asis +@item @code{sugar} (default: @code{sugar}) +The Sugar package to use. +@end table +@end deftp + @defvar enlightenment-desktop-service-type Return a service that adds the @code{enlightenment} package to the system profile, and extends dbus with actions from @code{efl}. diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 2034b3d099..42f35e9a75 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017, 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2018, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2019 David Wilson <david@daviwil.com> @@ -59,6 +59,7 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages scanner) #:use-module (gnu packages suckless) + #:use-module (gnu packages sugar) #:use-module (gnu packages linux) #:use-module (gnu packages libusb) #:use-module (gnu packages lxqt) @@ -144,6 +145,10 @@ lxqt-desktop-configuration? lxqt-desktop-service-type + sugar-desktop-configuration + sugar-desktop-configuration? + sugar-desktop-service-type + xfce-desktop-configuration xfce-desktop-configuration? xfce-desktop-service @@ -1519,6 +1524,31 @@ rules." ;;; +;;; Sugar desktop service. +;;; + +(define-record-type* <sugar-desktop-configuration> sugar-desktop-configuration + make-sugar-desktop-configuration + sugar-desktop-configuration? + (sugar sugar-package (default sugar))) + +(define (sugar-polkit-settings config) + "Return the list of packages that provide polkit actions and rules." + (list (sugar-package config))) + +(define sugar-desktop-service-type + (service-type + (name 'sugar-desktop) + (extensions + (list (service-extension polkit-service-type + sugar-polkit-settings) + (service-extension profile-service-type + (compose list sugar-package)))) + (default-value (sugar-desktop-configuration)) + (description "Run the Sugar desktop environment."))) + + +;;; ;;; X11 socket directory service ;;; |