Repository navigation
Expand file tree
/
Copy pathflake.nix
More file actions
78 lines (71 loc) · 1.94 KB
/
Copy pathflake.nix
File metadata and controls
78 lines (71 loc) · 1.94 KB
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
71
72
73
74
75
76
77
78
{
description = "Python and R environments for running student scripts";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfreePredicate = pkg:
builtins.elem (nixpkgs.lib.getName pkg) [ "dyalog" ];
};
python = pkgs.python3.withPackages (ps: with ps; [
numpy matplotlib tkinter jupyter ipykernel scipy
]);
histData_1_1 = pkgs.rPackages.HistData.overrideAttrs (oldAttrs: rec {
version = "1.1-0";
src = pkgs.fetchFromGitHub {
owner = "friendly";
repo = "HistData";
rev = "master";
hash = "sha256-zzrzREWCO/Ci1N2dq79FrZcyEU3FYPRkp6SUxEvZy6M=";
};
});
renv = pkgs.rWrapper.override {
packages = with pkgs.rPackages; [
ggplot2
knitr
rmarkdown
fcaR
ggraph
histData_1_1
];
};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
(pkgs.haskellPackages.ghcWithPackages (hp: [ hp.gnuplot hp.JuicyPixels]))
pkgs.gnuplot
python
renv
pkgs.tk
pkgs.quarto
pkgs.pandoc
pkgs.go
pkgs.racket
pkgs.ruby
pkgs.ocaml
pkgs.swi-prolog
pkgs.nodejs_22
pkgs.typescript
pkgs.tsx
pkgs.pnpm
pkgs.pkg-config
pkgs.rustc
pkgs.cargo
(pkgs.dyalog.override { acceptLicense = true; })
];
nativeBuildInputs = [
pkgs.pkg-config
];
buildInputs = [
pkgs.fontconfig
pkgs.freetype
];
shellHook = ''
export QUARTO_R=${renv}/bin/R
export QUARTO_PYTHON=${python}/bin/python
'';
};
};
}