diff options
Diffstat (limited to 'gnu/services/desktop.scm')
-rw-r--r-- | gnu/services/desktop.scm | 52 |
1 files changed, 6 insertions, 46 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index dcab950822..578095b146 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -150,46 +150,6 @@ ((package . _) package)))) -(define (wrapped-dbus-service service program variable value) - "Return a wrapper for @var{service}, a package containing a D-Bus service, -where @var{program} is wrapped such that environment variable @var{variable} -is set to @var{value} when the bus daemon launches it." - (define wrapper - (program-file (string-append (package-name service) "-program-wrapper") - #~(begin - (setenv #$variable #$value) - (apply execl (string-append #$service "/" #$program) - (string-append #$service "/" #$program) - (cdr (command-line)))))) - - (define build - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - - (define service-directory - "/share/dbus-1/system-services") - - (mkdir-p (dirname (string-append #$output - service-directory))) - (copy-recursively (string-append #$service - service-directory) - (string-append #$output - service-directory)) - (symlink (string-append #$service "/etc") ;for etc/dbus-1 - (string-append #$output "/etc")) - - (for-each (lambda (file) - (substitute* file - (("Exec[[:blank:]]*=[[:blank:]]*([[:graph:]]+)(.*)$" - _ original-program arguments) - (string-append "Exec=" #$wrapper arguments - "\n")))) - (find-files #$output "\\.service$"))))) - - (computed-file (string-append (package-name service) "-wrapper") - build)) - ;;; ;;; Upower D-Bus service. @@ -257,8 +217,8 @@ is set to @var{value} when the bus daemon launches it." (define (upower-dbus-service config) (list (wrapped-dbus-service (upower-configuration-upower config) "libexec/upowerd" - "UPOWER_CONF_FILE_NAME" - (upower-configuration-file config)))) + `(("UPOWER_CONF_FILE_NAME" + ,(upower-configuration-file config)))))) (define (upower-shepherd-service config) "Return a shepherd service for UPower with CONFIG." @@ -389,8 +349,8 @@ users are allowed." (define (geoclue-dbus-service config) (list (wrapped-dbus-service (geoclue-configuration-geoclue config) "libexec/geoclue" - "GEOCLUE_CONFIG_FILE" - (geoclue-configuration-file config)))) + `(("GEOCLUE_CONFIG_FILE" + ,(geoclue-configuration-file config)))))) (define %geoclue-accounts (list (user-group (name "geoclue") (system? #t)) @@ -742,8 +702,8 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks." (define (elogind-dbus-service config) (list (wrapped-dbus-service (elogind-package config) "libexec/elogind/elogind" - "ELOGIND_CONF_FILE" - (elogind-configuration-file config)))) + `(("ELOGIND_CONF_FILE" + ,(elogind-configuration-file config)))))) (define (pam-extension-procedure config) "Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM |