2016-05-31 2 views
3

Могу ли я использовать R с необходимыми субмодулями (например, ggplot2) с nix-shell?nix-shell с интерпретатором R и подмодулями

Например, с помощью Python с подмодулями:

nix-shell -p python34 python34Packages.pandas 

Однако, я не могу понять, как сделать эквивалент с R.

nix-shell -p R 

дает мне ванильный R, но как насчет подмодулей? Я не уверен, что достаточно знаю об использовании nix-shell для оценки выражений nix, но может ли использоваться this из nix-shell в качестве команды?

Примечания: Это мое предпочтение не попы выражения из приведенной выше ссылки в shell.nix или default.nix. Скорее как одна команда.

+1

Что с 'Никс-оболочки -p R rPackages.dplyr rPackages.ggplot2'? –

+0

@Alex намного проще. Я видел связанные документы и предполагал, что это не сработает. Не могли бы вы поп это как ответ? – Gilly

ответ

2

Вы можете использовать тот же подход, что и в вашем примере Python:

nix-shell -p R rPackages.dplyr rPackages.ggplot2 
+0

Отлично, спасибо большое. Документация, использующая rWrapper, немного меня смутила. – Gilly

3

Вы можете передать выражение nix в nix-shell, используя флаг -E. Таким образом, справедливо следующее:

nix-shell -E 'with import <nixpkgs> {}; rWrapper.override {packages = with rPackages; [ggplot2 reshape2];}' 
+0

Нам действительно нужно улучшить nix CLI. Хотя выше решает проблему, это слишком сложный ПУТЬ. – knedlsepp

+0

Это, но я тоже делаю что-то более сложное, чем обычно. Обычно вы используете файл 'shell.nix', но я запускаю его непосредственно для использования в качестве замены/оболочки для вызова команды' R' в загрузочном устройстве org-mode Emacs. – Gilly