-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathshell.nix
42 lines (38 loc) · 922 Bytes
/
shell.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
{ pkgs ? (import ./tools/nix/pin-nixpkgs.nix) {} }:
let
currentDir = builtins.toString ./.;
pnpm = pkgs.pnpm.override {
version = "10.4.1";
hash = "sha256-S3Aoh5hplZM9QwCDawTW0CpDvHK1Lk9+k6TKYIuVkZc=";
nodejs = pkgs.nodejs_20;
};
cxxopts = pkgs.cxxopts.override { enableUnicodeHelp = false; };
antlr4 = pkgs.callPackage ./tools/nix/antlr4.nix { };
in
pkgs.mkShell {
name = "filc-dev-env";
packages = [
pkgs.git
pkgs.cmake
pkgs.ninja
pkgs.lcov
pkgs.libclang
pkgs.valgrind
pkgs.dpkg
pkgs.rpm
pkgs.jre_minimal
pkgs.nodejs_20
pnpm
pkgs.httpie
pkgs.llvmPackages_18.libllvm
cxxopts
antlr4.antlr
antlr4.runtime.cpp
];
shellHook = ''
export ROOT_DIR="${currentDir}"
export PATH="$PATH:${currentDir}/tools/bin"
pnpm install;
echo -e "\n\033[34mWelcome to \033[1mfilc\033[0m\033[34m dev environment\033[0m\n"
'';
}