diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2020-06-21 16:20:16 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-06-28 14:03:03 +0300 |
commit | 8f19e63f760fe02f9969225da2f3f3c36801218f (patch) | |
tree | 78f934f83d0af23c072ce2da2d17f2c02f9a4d84 /doc | |
parent | 0dfc4612724f26c67ca0796b3e9ae5a4fca1c2a1 (diff) |
services: Add rshiny service.
* gnu/services/science.scm: New file.
(<rshiny-configuration>): New record.
(rshiny-shepherd-service-type): New variable.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index de34939248..ffc77cbb8b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26612,6 +26612,55 @@ setuid-root (@pxref{Setuid Programs}) such that unprivileged users can invoke @command{singularity run} and similar commands. @end defvr +@cindex rshiny +@subsubheading R-Shiny service + +The @code{(gnu services science)} module provides the following service. + +@defvr {Scheme Variable} rshiny-service-type + +This is a type of service which is used to run a webapp created with +@code{r-shiny}. This service sets the @code{R_LIBS_USER} environment +variable and runs the provided script to call @code{runApp}. + +@deftp {Data Type} rshiny-configuration +This is the data type representing the configuration of rshiny. + +@table @asis + +@item @code{package} (default: @code{r-shiny}) +The package to use. + +@item @code{binary} (defaunlt @code{"rshiny"}) +The name of the binary or shell script located at @code{package/bin/} to +run when the service is run. + +The common way to create this file is as follows: + +@lisp +@dots{} +(let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/" ,name)) + (app (string-append out "/bin/" ,name)) + (Rbin (string-append (assoc-ref %build-inputs "r-min") + "/bin/Rscript"))) +@dots{} + (mkdir-p (string-append out "/bin")) + (call-with-output-file app + (lambda (port) + (format port +"#!~a +library(shiny) +setwd(\"~a\") +runApp(launch.browser=0, port=4202)~%\n" + Rbin targetdir))) +@dots{} +@end lisp + +@end table +@end deftp +@end defvr + @cindex Nix @subsubheading Nix service |