summaryrefslogtreecommitdiffstats
path: root/shell.nix
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-04-15 16:53:58 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-04-15 16:53:58 -0400
commitb5ced3af46c96ceb959fbbf1addfeba3bd4f76d5 (patch)
tree06d06fc9562dc99eede655b53635576f67c37e3b /shell.nix
downloadsystemic4x-b5ced3af46c96ceb959fbbf1addfeba3bd4f76d5.tar.gz
systemic4x-b5ced3af46c96ceb959fbbf1addfeba3bd4f76d5.tar.bz2
systemic4x-b5ced3af46c96ceb959fbbf1addfeba3bd4f76d5.zip
first commit. working body rendering
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 0000000..1ae9742
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,52 @@
+{ pkgs ? import <nixpkgs> {} }:
+let
+ overrides = (builtins.fromTOML (builtins.readFile ./rust-toolchain.toml));
+ libPath = with pkgs; lib.makeLibraryPath [
+ libGL
+ libxkbcommon
+ wayland
+ vulkan-loader
+ ];
+in {
+ devShell = with pkgs; mkShell {
+ nativeBuildInputs = [
+ pkg-config
+ ];
+ buildInputs = [
+ clang
+ llvmPackages.bintools
+ rustup
+ rust-analyzer
+ ];
+
+ RUSTC_VERSION = overrides.toolchain.channel;
+ LIBCLANG_PATH = lib.makeLibraryPath [ llvmPackages_latest.libclang.lib ];
+
+ shellHook = ''
+ export PATH=$PATH:''${CARGO_HOME:-~/.cargo}/bin
+ export PATH=$PATH:''${RUSTUP_HOME:-~/.rustup}/toolchains/$RUSTC_VERSION-x86_64-unknown-linux-gnu/bin/
+ '';
+
+ # Add precompiled library to rustc search path
+ RUSTFLAGS = (builtins.map (a: ''-L ${a}/lib'') [
+
+ ]);
+
+ # Add glibc, clang, glib, and other headers to bindgen search path
+ BINDGEN_EXTRA_CLANG_ARGS =
+ # Includes normal include path
+ (builtins.map (a: ''-I"${a}/include"'') [
+ # add dev libraries here (e.g. pkgs.libvmi.dev)
+ 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/''
+ ];
+
+ # RUST_LOG="debug";
+ LD_LIBRARY_PATH=libPath;
+ };
+}