From 5abdd7c876e821fa6b7be0f8e7298b9a4c9e1d20 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 3 Sep 2022 18:08:32 -0400 Subject: Empty project setup --- flake.nix | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2d0d812 --- /dev/null +++ b/flake.nix @@ -0,0 +1,50 @@ +{ + inputs = { flake-utils.url = "github:numtide/flake-utils"; }; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + stdenv + openssl + pkg-config + llvmPackages_latest.llvm + llvmPackages_latest.bintools + zlib.out + rustup + #xorriso + #grub2 + #qemu + llvmPackages_latest.lld + #python3 + ]; + RUSTC_VERSION = pkgs.lib.readFile ./rust-toolchain; + # https://github.com/rust-lang/rust-bindgen#environment-variables + LIBCLANG_PATH = pkgs.lib.makeLibraryPath [ pkgs.llvmPackages_latest.libclang.lib ]; + HISTFILE = toString ./.history; + shellHook = '' + export PATH=$PATH:~/cargo/bin + export PATH=$PATH:~/.rustup/toolchains/$RUSTC_VERSION-x86_64-unknown-linux-gnu/bin/ + ''; + # Add libvmi precompiled library to rustc search path + # RUSTFLAGS = (builtins.map (a: ''-L ${a}/lib'') [ + # pkgs.libvmi + # ]); + # Add libvmi, glibc, clang, glib headers to bindgen search path + BINDGEN_EXTRA_CLANG_ARGS = + # Includes with normal include path + (builtins.map (a: ''-I"${a}/include"'') [ + # pkgs.libvmi + pkgs.glibc.dev + ]) + # Includes with special directory paths + ++ [ + ''-I"${pkgs.llvmPackages_latest.libclang.lib}/lib/clang/${pkgs.llvmPackages_latest.libclang.version}/include"'' + ''-I"${pkgs.glib.dev}/include/glib-2.0"'' + ''-I${pkgs.glib.out}/lib/glib-2.0/include/'' + ]; + }; + }); +} -- cgit v1.2.3