;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (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 ; file-like (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."))) Maxim Cournoyer 2024-08-31build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-mod......Maxim Cournoyer 2024-08-18gnu: gimp: Update to 2.10.38....Tobias Geerinckx-Rice 2024-04-17gnu: babl: Disable failing test on aarch64....Roman Scherer 2024-03-10Merge branch 'master' into gnome-teamLiliana Marie Prikler 2024-03-09gnu: gnome-photos: Build against gegl-0.4.44....Liliana Marie Prikler 2024-03-09gnu: Add gimp-next....Liliana Marie Prikler 2024-03-09gnu: gimp: Update to 2.10.36....Liliana Marie Prikler 2024-03-09gnu: gegl: Build with introspection....Liliana Marie Prikler 2024-03-09gnu: babl: Build with introspection....Liliana Marie Prikler 2024-03-09gnu: gegl: Update to 0.4.48....Liliana Marie Prikler 2024-03-09gnu: babl: Update to 0.1.108....Liliana Marie Prikler 2023-09-14gnu: gegl: Use new style for inputs....Liliana Marie Prikler 2023-09-14gnu: gimp: Update to 2.10.34....Vivien Kraus 2023-09-14gnu: gegl: Update to 0.4.46....Vivien Kraus