# Dependencies ## Cargo To install the rust toolchain for building the project go to [rust-lang.org](https://www.rust-lang.org/tools/install) and follow the instructions. ## Protobuf Protobuf's CLI (protoc) is required to build this project as it is used to auto-generate rust code based on the [protobuf](/proto/keymapp.proto) of the underlying API which communicates with Keymapp. ### Windows Install using [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/): `winget install protobuf` In order for tonic-build to build, it needs to know the path of protoc. Therefore, we need to add the executable path to an environment variable using powershell: ```pwsh [Environment]::SetEnvironmentVariable('PROTOC', '%USERPROFILE%\AppData\Local\Microsoft\WinGet\Packages\Google.Protobuf_Microsoft.Winget.Source_8wekyb3d8bbwe\bin\protoc.exe', 'User') ``` ### Linux & MacOS For Linux & MacOS you can follow Google's installation instructions: [grpc.io](https://grpc.io/docs/protoc-installation/)