diff options
author | Graham Christensen <graham@grahamc.com> | 2018-03-24 10:47:41 -0400 |
---|---|---|
committer | Graham Christensen <graham@grahamc.com> | 2018-03-25 19:52:00 -0400 |
commit | 92d53362d4da7e19b6a7a6b1b936a0a34a17c0c9 (patch) | |
tree | 0181e4b13913552df774069766369a5f75babbef /pkgs/development/r-modules/README.md | |
parent | a0c525bd0a93fba70471392b8651882b52197788 (diff) |
Move all nixpkgs doc files in to the doc directory
This makes a makefile-driven developer workflow nicer.
Diffstat (limited to 'pkgs/development/r-modules/README.md')
-rw-r--r-- | pkgs/development/r-modules/README.md | 121 |
1 files changed, 1 insertions, 120 deletions
diff --git a/pkgs/development/r-modules/README.md b/pkgs/development/r-modules/README.md index c8f02bd147806..e6fd09d764714 100644 --- a/pkgs/development/r-modules/README.md +++ b/pkgs/development/r-modules/README.md @@ -1,120 +1 @@ -R packages -========== - -## Installation - -Define an environment for R that contains all the libraries that you'd like to -use by adding the following snippet to your $HOME/.config/nixpkgs/config.nix file: - -```nix -{ - packageOverrides = super: let self = super.pkgs; in - { - - rEnv = super.rWrapper.override { - packages = with self.rPackages; [ - devtools - ggplot2 - reshape2 - yaml - optparse - ]; - }; - }; -} -``` - -Then you can use `nix-env -f "<nixpkgs>" -iA rEnv` to install it into your user -profile. The set of available libraries can be discovered by running the -command `nix-env -f "<nixpkgs>" -qaP -A rPackages`. The first column from that -output is the name that has to be passed to rWrapper in the code snipped above. - -However, if you'd like to add a file to your project source to make the -environment available for other contributors, you can create a `default.nix` -file like so: -```nix -let - pkgs = import <nixpkgs> {}; - stdenv = pkgs.stdenv; -in with pkgs; { - myProject = stdenv.mkDerivation { - name = "myProject"; - version = "1"; - src = if pkgs.lib.inNixShell then null else nix; - - buildInputs = with rPackages; [ - R - ggplot2 - knitr - ]; - }; -} -``` -and then run `nix-shell .` to be dropped into a shell with those packages -available. - -## RStudio - -RStudio uses a standard set of packages and ignores any custom R -environments or installed packages you may have. To create a custom -environment, see `rstudioWrapper`, which functions similarly to -`rWrapper`: - -```nix -{ - packageOverrides = super: let self = super.pkgs; in - { - - rstudioEnv = super.rstudioWrapper.override { - packages = with self.rPackages; [ - dplyr - ggplot2 - reshape2 - ]; - }; - }; -} -``` - -Then like above, `nix-env -f "<nixpkgs>" -iA rstudioEnv` will install -this into your user profile. - -Alternatively, you can create a self-contained `shell.nix` without the need to -modify any configuration files: - -```nix -{ pkgs ? import <nixpkgs> {} -}: - -pkgs.rstudioWrapper.override { - packages = with pkgs.rPackages; [ dplyr ggplot2 reshape2 ]; -} - -``` - -Executing `nix-shell` will then drop you into an environment equivalent to the -one above. If you need additional packages just add them to the list and -re-enter the shell. - -## Updating the package set - -```bash -nix-shell generate-shell.nix - -Rscript generate-r-packages.R cran > cran-packages.nix.new -mv cran-packages.nix.new cran-packages.nix - -Rscript generate-r-packages.R bioc > bioc-packages.nix.new -mv bioc-packages.nix.new bioc-packages.nix -``` - -`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefor the renaming. - - -## Testing if the Nix-expression could be evaluated - -```bash -nix-build test-evaluation.nix --dry-run -``` - -If this exits fine, the expression is ok. If not, you have to edit `default.nix` +Moved to [/doc/languages-frameworks/r.section.md](/doc/languages-frameworks/r.section.md) |