Prerequisites
Before building Hoot, ensure you have the following dependencies installed:- Rust 1.70 or later
- OpenSSL development libraries
- Perl and some libraries (required for OpenSSL compilation)
Platform-specific dependencies
- Linux
- macOS
- Windows
On Linux, you’ll also need the following libraries:
- Wayland development libraries
- libxkbcommon
- libGL
- X11 development libraries (libX11, libXcursor, libXrandr, libXi)
- fontconfig
Building with Cargo
Hoot uses standard Cargo build commands for compilation.Build the project
Building with Nix
If you have Nix with flakes enabled, you can use the provided Nix development environment.Enter the development shell
- Rust toolchain with rust-analyzer and rust-src
- Platform-specific libraries
- Build tools (pkg-config, perl, makeWrapper)
Nix packages
The flake provides several package outputs:default- The main Hoot package (wrapped with nixGL on Linux)hoot-unwrapped- Hoot without nixGL wrapperdevenv-up- Development environment setup scriptdevenv-test- Test runner script
Build features
Hoot supports optional feature flags during compilation:Profiling
Build with profiling support enabled:Troubleshooting
OpenSSL errors
If you encounter OpenSSL-related build errors, ensure you have the OpenSSL development libraries installed:Graphics library errors on Linux
If you encounter errors related to Wayland or X11 libraries:Ubuntu/Debian