-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshell.nix
More file actions
40 lines (33 loc) · 1.34 KB
/
shell.nix
File metadata and controls
40 lines (33 loc) · 1.34 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
let
pkgs = import <nixpkgs> { config = { allowUnfree = false; }; };
PROJECT_ROOT = builtins.toString ./.;
in
pkgs.mkShell {
name = "app-shell";
buildInputs = [
pkgs.temurin-bin-21
pkgs.pkgs.stdenv.cc.cc.lib # libstdc++.so
pkgs.libxcrypt-legacy # required for .kexe app to run
pkgs.zlib
pkgs.nodejs_22
pkgs.patchelf # is used to override path to dynamic libraries for executables
pkgs.gcc13
pkgs.sqlitebrowser
];
LANG = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8";
shellHook = ''
export PROJECT_ROOT="${PROJECT_ROOT}"
export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${pkgs.libxcrypt-legacy}/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${pkgs.zlib}/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${PROJECT_ROOT}/native/simple:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${PROJECT_ROOT}/native/sqlite-amalgamation-3500400:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="${PROJECT_ROOT}/native/bcrypt:$LD_LIBRARY_PATH"
export JAVA_HOME=${pkgs.temurin-bin-21}
export PATH=${pkgs.temurin-bin-21}/bin:$PATH
export DEBUG_APPLICATION_ROOT_FOLDER="$PROJECT_ROOT/quiz-flow-server/entrypoint/build/packaged"
chmod -R +x ${PROJECT_ROOT}/scripts
export PATH=${PROJECT_ROOT}/scripts:$PATH
'';
}