-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathshell.nix
More file actions
39 lines (36 loc) · 856 Bytes
/
shell.nix
File metadata and controls
39 lines (36 loc) · 856 Bytes
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
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
name = "xeus-lean-dev-shell";
# Packages to install in the environment
buildInputs = with pkgs; [
pkg-config
cmake
elan
(python3.withPackages (ps: with ps; [
numpy
matplotlib
pyyaml
pandas
pip
jupyter
jupyterlab
]))
nodejs_24
emscripten
# Additional build dependencies
nlohmann_json
libuuid
openssl
clang
libcxx
libcxxrt
];
# Environment variables
shellHook = ''
export CMAKE_C_COMPILER=clang
export CMAKE_CXX_COMPILER=clang++
export CMAKE_CXX_FLAGS="-stdlib=libc++"
echo "xeus-lean development environment loaded"
echo "Lean toolchain: $(lean --version 2>/dev/null || echo 'run: curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh')"
'';
}