-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.nix
More file actions
39 lines (31 loc) · 1.09 KB
/
app.nix
File metadata and controls
39 lines (31 loc) · 1.09 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
let
pkgs = import <nixpkgs> { config = { allowUnfree = false; }; };
PROJECT_ROOT = builtins.toString ./.;
in
pkgs.mkShell {
name = "app-shell";
buildInputs = [
pkgs.gfortran14
pkgs.cmake
pkgs.clang-tools
pkgs.gcc13.cc
pkgs.gcc13
pkgs.jdk21
];
LANG = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8";
shellHook = ''
# export QQQ=${pkgs.binutils}
export PROJECT_ROOT=${PROJECT_ROOT}
export JAVA_HOME=${pkgs.jdk21}
export PATH=${pkgs.jdk21}/bin:$PATH
# export C_INCLUDE_PATH=${pkgs.gcc13.cc}/lib/gcc/x86_64-unknown-linux-gnu/13.3.0/include:${pkgs.gcc13.cc}/lib64/gcc/x86_64-unknown-linux-gnu/13.3.0/include/
# export CPLUS_INCLUDE_PATH=${pkgs.gcc13.cc}/include/c++/13.3.0
export C_INCLUDE_PATH=$JAVA_HOME/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$JAVA_HOME/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$PROJECT_ROOT/external/gsl/build:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$PROJECT_ROOT/external/gsl/build:$CPLUS_INCLUDE_PATH
chmod -R +x ${PROJECT_ROOT}/scripts
export PATH=${PROJECT_ROOT}/scripts:$PATH
'';
}