Adds tokio-modbus 0.17.0 for Modbus RTU over TCP communication, sqlx with runtime-tokio and sqlite features for async database operations, mockall 0.13 for trait mocking in tests, and async-trait 0.1 for async trait support. Ref: T001 (specs/001-modbus-relay-control)
51 lines
1.1 KiB
Nix
51 lines
1.1 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
self,
|
|
rustVersion,
|
|
system,
|
|
...
|
|
}:
|
|
inputs.devenv.lib.mkShell {
|
|
inherit inputs pkgs;
|
|
modules = [
|
|
{
|
|
packages = with pkgs; [
|
|
(rustVersion.override {
|
|
extensions = [
|
|
"clippy"
|
|
"rust-src"
|
|
"rust-analyzer"
|
|
"rustfmt"
|
|
];
|
|
})
|
|
bacon
|
|
cargo-deny
|
|
cargo-edit
|
|
cargo-shuttle
|
|
cargo-tarpaulin
|
|
just
|
|
marksman # Markdown LSP server
|
|
sqlx-cli
|
|
tombi # TOML LSP server
|
|
];
|
|
|
|
processes.run.exec = "bacon run";
|
|
|
|
enterShell = ''
|
|
echo "🦀 Rust MCP development environment loaded!"
|
|
echo "📦 Rust version: $(rustc --version)"
|
|
echo "📦 Cargo version: $(cargo --version)"
|
|
echo ""
|
|
echo "Available tools:"
|
|
echo " - rust-analyzer (LSP)"
|
|
echo " - clippy (linter)"
|
|
echo " - rustfmt (formatter)"
|
|
echo " - bacon (continuous testing/linting)"
|
|
echo " - cargo-deny (dependency checker)"
|
|
echo " - cargo-tarpaulin (code coverage)"
|
|
'';
|
|
}
|
|
];
|
|
}
|