diff options
Diffstat (limited to 'pkgs/applications/editors/rstudio/default.nix')
-rw-r--r-- | pkgs/applications/editors/rstudio/default.nix | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 82bcc485da3..5fef166e663 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -1,4 +1,14 @@ -{ stdenv, fetchurl, makeDesktopItem, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }: +{ stdenv, fetchurl, makeDesktopItem, cmake, boost155, zlib, openssl, +R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, +# If you have set up an R wrapper with other packages by following +# something like https://nixos.org/nixpkgs/manual/#r-packages, RStudio +# by default not be able to access any of those R packages. In order +# to do this, override the argument "R" here with your respective R +# wrapper, and set "useRPackages" to true. This will add the +# environment variable R_PROFILE_USER to the RStudio wrapper, pointing +# to an R script which will allow R to use these packages. +useRPackages ? false +}: let version = "0.98.110"; @@ -72,8 +82,14 @@ stdenv.mkDerivation rec { mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;"; }; - postInstall = '' - wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin + postInstall = let rProfile = + # RStudio seems to bypass the environment variables that the R + # wrapper already applies, and so this sets R_PROFILE_USER to + # again make those R packages accessible: + if useRPackages + then "--set R_PROFILE_USER ${R}/${R.passthru.fixLibsR}" else ""; + in '' + wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin ${rProfile} mkdir $out/share cp -r ${desktopItem}/share/applications $out/share mkdir $out/share/icons |