On Mon, May 07, 2018 at 06:49:43PM +0200, Ludovic Courtès wrote: > Efraim Flashner skribis: > > > * gnu/services/desktop.scm (, > > enlightenment-desktop-service-type): New variables. > > (enlightenment-desktop-service): New public variable. > > * doc/guix.texi (Desktop Services): Document the service. > > In guix.texi, could you document ‘enlightenment-desktop-service-type’ > and ‘enlightenment-desktop-configuration’? > > [...] > > > +(define-record-type* > > + enlightenment-desktop-configuration > > + make-enlightenment-desktop-configuration > > + enlightenment-desktop-configuration > > + (enlightenment enlightenment-package (default enlightenment))) > > Actually, unless you expect more configuration elements to be added to > this record eventually, you might be better off without a record and > simply using the package as the value for that service. > > WDYT? > > > +(define (enlightenment-setuid-programs enlightenment-desktop-configuration) > > + (match-record enlightenment-desktop-configuration > > + > > + (enlightenment) > > + (list (file-append enlightenment > > + "/lib/enlightenment/utils/enlightenment_sys") > > + (file-append enlightenment > > + "/lib/enlightenment/utils/enlightenment_backlight") > > + ;; TODO: Move this binary to a screen-locker service. > > + (file-append enlightenment > > + "/lib/enlightenment/utils/enlightenment_ckpasswd") > > Perhaps enlightenment_ckpasswd needs a PAM entry as well, like > ‘screen-locker-service-type’ does? > I'm not sure, enlightenment's screen locker code was refactored in 0.22.2 so that it would behave identically on Linux and BSD, and I'm not sure that the BSDs use PAM, and it seems to with as-is. > > + (file-append enlightenment > > + (string-append > > + "/lib/enlightenment/modules/cpufreq/linux-gnu-" > > + (string-drop-right (%current-system) 6) ; drop '-linux' > > Rather: > > (match (string-tokenize (%current-system) (char-set-complement (char-set #\-))) > ((arch "linux") (string-append "linux-gnu-" arch)) > ((arch "gnu") (string-append "gnu-" arch))) > > > +(define* (enlightenment-desktop-service > > + #:key (config (enlightenment-desktop-configuration))) > > + "Return a service that adds the @code{enlightenment} package to the system > > +profile, and extends dbus with the ability for @code{efl} to generate > > +thumbnails and makes setuid the programs which enlightenment expects to have > > +their setuid bit set." > > + (service enlightenment-desktop-service-type config)) > > Not needed! :-) > > Thank you, > Ludo’. I looked at the xfce service especially, and it actually has the same fields and declarations as enlightenment. I'd like to leave the option in place to add '(enlightenment-desktop-service)' to an OS-config since it is then identical to the other desktop services we have. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted