如何使用Nix软件包管理器添加本地R软件包

时间:2019-04-09 21:11:44

标签: r nix

假设我有一个本地R包,它位于JOINing

我想启动一个nix外壳,其中包含我的软件包以及ggplot。我该怎么办?

1 个答案:

答案 0 :(得分:2)

首先,我们需要创建一个nix软件包,其中包含本地软件包的必要信息。

让我们称呼它

/home/placey/messyverse.tar.gz

messverse.nix

然后在同一文件夹中,创建with import <nixpkgs> {}; { messverse = rPackages.buildRPackage rec { name = "messverse"; version = "0.1"; src = /home/placey/messverse.tar.gz; buildInputs = with rPackages; [ R stringr ]; }; } 来定义nix shell所需的内容。

default.nix

default.nix

现在我们可以执行 with import <nixpkgs> {}; with import ./messyverse.nix; { myProject = stdenv.mkDerivation { name = "myProject"; version = "1"; src = if pkgs.lib.inNixShell then null else nix; buildInputs = with rPackages; with messyverse; [ R ggplot2 messyverse ]; }; }

我们有一个包含R和我们本地指定的R包的外壳!