summary refs log tree commit diff
path: root/pkgs/development/r-modules
diff options
context:
space:
mode:
authorcfhammill <cfhammill@gmail.com>2020-08-19 21:27:10 -0400
committerJustin Bedo <cu@cua0.org>2022-01-17 10:24:37 +1100
commitfd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3 (patch)
treef2c16bb046d6beb63b62300a49cc87298fe16b24 /pkgs/development/r-modules
parentd3bc05b0f90a447787d5ef57f7f66478b4ac2ed0 (diff)
downloadnixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar.gz
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar.bz2
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar.lz
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar.xz
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.tar.zst
nixpkgs-fd51177e5c91ac86220f2f4a11fcc99f0bb9a6a3.zip
rstudio-server, rstudioServerWrapper: init at rstudio.version (1.4.1717)
Co-authored-by: Justin Bedo <cu@cua0.org>
Co-authored-by: Jonathan Ringer <jonringer@users.noreply.github.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Benjamin Darwin <bcdarwin@gmail.com>
Diffstat (limited to 'pkgs/development/r-modules')
-rw-r--r--pkgs/development/r-modules/wrapper-rstudio.nix56
1 files changed, 38 insertions, 18 deletions
diff --git a/pkgs/development/r-modules/wrapper-rstudio.nix b/pkgs/development/r-modules/wrapper-rstudio.nix
index 5eeac8fed30..b20b61d6c58 100644
--- a/pkgs/development/r-modules/wrapper-rstudio.nix
+++ b/pkgs/development/r-modules/wrapper-rstudio.nix
@@ -1,16 +1,23 @@
-{ lib, runCommand, R, rstudio, wrapQtAppsHook, recommendedPackages, packages, qtbase }:
+{ lib
+, runCommand
+, R
+, rstudio
+, makeWrapper
+, wrapQtAppsHook
+, recommendedPackages
+, packages
+, fontconfig
+}:
 
-let
-  qtVersion = with lib.versions; "${major qtbase.version}.${minor qtbase.version}";
-in
-runCommand (rstudio.name + "-wrapper") {
+runCommand (rstudio.name + "-wrapper")
+{
   preferLocalBuild = true;
   allowSubstitutes = false;
 
-  nativeBuildInputs = [wrapQtAppsHook];
+  nativeBuildInputs = [ (if rstudio.server then makeWrapper else wrapQtAppsHook) ];
   dontWrapQtApps = true;
 
-  buildInputs = [R rstudio] ++ recommendedPackages ++ packages;
+  buildInputs = [ R rstudio ] ++ recommendedPackages ++ packages;
 
   # rWrapper points R to a specific set of packages by using a wrapper
   # (as in https://nixos.org/nixpkgs/manual/#r-packages) which sets
@@ -22,14 +29,27 @@ runCommand (rstudio.name + "-wrapper") {
   # uses R_PROFILE_USER to load this code at startup in RStudio.
   fixLibsR = "fix_libs.R";
 }
-''
-mkdir $out
-ln -s ${rstudio}/share $out
-echo "# Autogenerated by wrapper-rstudio.nix from R_LIBS_SITE" > $out/$fixLibsR
-echo -n ".libPaths(c(.libPaths(), \"" >> $out/$fixLibsR
-echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR
-echo -n "\"))" >> $out/$fixLibsR
-echo >> $out/$fixLibsR
-makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \
-  --set R_PROFILE_USER $out/$fixLibsR
-''
+  (
+    ''
+      mkdir -p $out/bin
+      ln -s ${rstudio}/share $out
+      echo "# Autogenerated by wrapper-rstudio.nix from R_LIBS_SITE" > $out/$fixLibsR
+      echo -n ".libPaths(c(.libPaths(), \"" >> $out/$fixLibsR
+      echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR
+      echo -n "\"))" >> $out/$fixLibsR
+      echo >> $out/$fixLibsR
+    '' +
+    (if
+      rstudio.server then ''
+      makeWrapper ${rstudio}/bin/rsession $out/bin/rsession \
+        --set R_PROFILE_USER $out/$fixLibsR --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf
+
+      makeWrapper ${rstudio}/bin/rserver $out/bin/rserver \
+        --add-flags --rsession-path=$out/bin/rsession
+    ''
+    else
+      ''
+        makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \
+          --set R_PROFILE_USER $out/$fixLibsR
+      '')
+  )