rglua
This is a crate that allows interop with the luajit c api as well as the source sdk through libloading and vtable bindings. You can then use these for binary modules or manually injected code, like with Autorun-rs
More information on binary modules can be found on the garrysmod wiki: Creating Binary Modules and examples can be found here.
If you are targeting 32 bit make sure to install the toolchain and build to it:
bash
rustup target add i686-pc-windows-msvc
cargo build --release --target=i686-pc-windows-msvc
This is heavily based off of garrysmodcommon, in how we export the luashared functions and trying to replicate everything from the Lua C Api.
There are actually a decent amount of libraries out there for gmod development