(define-module (gnu services science) #:export ( rshiny-configuration rshiny-configuration? rshiny-configuration-package rshiny-configuration-binary rshiny-shepherd-service rshiny-service-type)) (use-modules (gnu) (guix records) (ice-9 match)) (use-service-modules shepherd) (use-package-modules cran) (define-record-type* rshiny-configuration make-rshiny-configuration rshiny-configuration? (package rshiny-configuration-package ; package (default r-shiny)) (binary rshiny-configuration-binary ; string (default "rshiny"))) (define rshiny-shepherd-service (match-lambda (($ package binary) (list (shepherd-service (documentation (string-append "R-Shiny service for " binary)) (provision (list (symbol-append 'rshiny- (string->symbol (string-take binary 9))))) (requirement '(networking)) (start #~(exec-command (list #$(string-append "/run/current-system/profile/bin/" binary)) ;#:log-file #$(string-append "/var/log/" binary ".log") ; kills shepherd #:environment-variables (list "R_LIBS_USER=/run/current-system/profile/site-library/"))) (stop #~(make-kill-destructor))))))) (define rshiny-service-type (service-type (name 'rshiny) (extensions (list (service-extension shepherd-root-service-type rshiny-shepherd-service) (service-extension profile-service-type ;; We want the package installed so that it ;; pulls in the propagated inputs as well. (lambda (config) (list (rshiny-configuration-package config)))))) (description "Run an R-Shiny webapp as a Guix Service."))) href='/guix/log/?id=304c6b395cdf0cd5ca911c428e08dbb06e37a8c5'>root/gnu/home/services/shepherd.scm
AgeCommit message (Expand)Author
2022-04-12home: shepherd: Prevent launching the second instance....Fixes <https://issues.guix.gnu.org/54545>. * gnu/home/services/shepherd.scm (launch-shepherd-gexp): Launch shepherd if and only if its socket file does not already exist. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin
2022-04-07home: shepherd: Default to version 0.9....* gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.9. (home-shepherd-configuration-file): Use 'start-in-the-background' when it is defined. Ludovic Courtès
2022-03-18home: services: Export record type accessors....* gnu/home/services/shepherd.scm: Export <home-shepherd-configuration> accessors. Re-export <shepherd-service> accessors. Ludovic Courtès
2021-10-09Move (gnu home-services) to (gnu home services)....* gnu/home-services.scm (%guix-home-root-directory): Replace gnu/home-services.scm with "gnu/home/services.scm". Rename to gnu/home/services.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm. * doc/he-config-bare-bones.scm: Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Same. * gnu/home/services/fontutils.scm: Same. * gnu/home/services/mcron.scm: Same. * gnu/home/services/shells.scm: Same. * gnu/home/services/shepherd.scm: Same. * gnu/home/services/symlink-manager.scm: Same. * gnu/home/services/xdg.scm: Same. * guix/scripts/home.scm: Same. * guix/self.scm: Same. Oleg Pykhalov
2021-10-08gnu: Move (gnu home-services) to (gnu home services)....* gnu/home-services/configuration.scm: Move the content ... * gnu/home/services/configuration.scm: ... here. * doc/guix.texi: Replace (gnu home-services mcron) with (gnu home services mcron). Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Replace (gnu home-services fontutils) with (gnu services fontutils). Replace (gnu home-services shells) with (gnu home services shells). Replace (gnu home-services symlink-manager) with (gnu home services symlink-manager). Replace (gnu home-services xdg) with (gnu home services xdg). * gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm. * gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm. Replace (gnu home-services shepherd) with (gnu home services shepherd). * gnu/home-services.scm (%service-type-path): Search home services in "gnu/services". * gnu/home-services/shells.scm: Replace (gnu home-services configuration) with (gnu home services configuration). Rename to gnu/home/services/shells.scm. Replace (gnu home-services utils) with (gnu home services utils). * gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm. * gnu/home-services/symlink-manager.scm: Rename to gnu/home/services/symlink-manager.scm. * gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm. * gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm. * guix/scripts/home/import.scm: Replace (gnu home-services bash) with (gnu home services bash). * gnu/home-services.scm: Update documentation string. * doc/he-config-bare-bones.scm: Apply new (gnu home-services ...) modules location. * gnu/local.mk (GNU_SYSTEM_MODULES): Same. Oleg Pykhalov