{
inputs = {
flake-utils = {
url = "github:numtide/flake-utils";
};
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
};
outputs =
{
self,
flake-utils,
nixpkgs,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
};
in
{
devShell = pkgs.mkShell {
shellHook =
if system == "aarch64-darwin" then
''
export NIX_CFLAGS_COMPILE="-isystem ${pkgs.libelf}/include"
export NIX_CFLAGS_COMPILE_FOR_TARGET=""
''
else
"";
buildInputs = with pkgs; [
libelf
llvmPackages.clang
pkg-config
zlib
zstd
];
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
};
}
);
}