-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
70 lines (65 loc) · 1.44 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
description = "A Nix flake for creating an R development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
packages = with pkgs; [
pandoc
quarto
R
radianWrapper
];
rPackages = with pkgs.rPackages; [
# Utils
languageserver
swirl
swirlify
# Project
base64enc
corpora
dplyr
factoextra
forcats
fs
ggfortify
ggplot2
janitor
kableExtra
knitr
parsnip
purrr
quarto
readr
recipes
renv
rmarkdown
rsample
rstudioapi
scales
skimr
stringr
tibble
tidyr
tidytext
tidyverse
tokenizers
workflows
yardstick
];
allPackages = packages ++ rPackages;
in
{
devShell = pkgs.mkShell {
buildInputs = allPackages;
shellHook = ''
export R_LIBS_USER=$PWD/R/Library; mkdir -p "$R_LIBS_USER";
echo "R environment set up";
'';
};
});
}