forked from anza-xyz/jetstreamer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshell.nix
More file actions
65 lines (58 loc) · 1.19 KB
/
shell.nix
File metadata and controls
65 lines (58 loc) · 1.19 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
{ pkgs ? import <nixpkgs> {} }:
let
llvmPkg = pkgs.llvmPackages_16;
in
pkgs.mkShell {
stdenv = pkgs.gcc13Stdenv;
buildInputs = [
# Rust toolchain
pkgs.rustup
# Compiler and C/C++ toolchain
pkgs.clang_16
llvmPkg.llvm
llvmPkg.libclang
# System libraries
pkgs.zlib
pkgs.openssl.dev
pkgs.openssl.out
pkgs.openssl.bin
pkgs.libtool
pkgs.libxml2
pkgs.libarchive
pkgs.systemd
pkgs.curl
pkgs.protobuf
# Build tools (base-devel equivalent on Arch)
pkgs.autoconf
pkgs.automake
pkgs.binutils
pkgs.bison
pkgs.fakeroot
pkgs.flex
pkgs.gawk
pkgs.gnugrep
pkgs.gnumake
pkgs.gnupg
pkgs.gnutar
pkgs.gzip
pkgs.m4
pkgs.patch
pkgs.patchelf
pkgs.pkg-config
pkgs.gnused
pkgs.texinfo
pkgs.util-linux
pkgs.which
# Misc dev tools
pkgs.git
pkgs.pkgconf
pkgs.screen
];
shellHook = ''
export CC=clang
export CXX=clang++
export LIBCLANG_PATH=${llvmPkg.libclang.lib}/lib
export LD_LIBRARY_PATH=${llvmPkg.llvm.lib}/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=${pkgs.openssl.dev}/lib/pkgconfig:${pkgs.zlib.dev}/lib/pkgconfig:$PKG_CONFIG_PATH
'';
}