The repository includes a community-maintained Nix flake (flake.nix) with development shells and, on Linux, an FHS environment that provides the native libraries VoiceStudio needs. It is a way to build and run from source; it is not exercised by CI, and the release installers remain the supported install path.
- Nix with flakes enabled.
On NixOS, dynamically loaded Python packages (such as the PyTorch and WhisperX wheels uv installs) expect standard Linux filesystem paths (/lib64, /usr/lib). The flake's FHS environment (Linux only) provides them, and makes uv use its own managed CPython:
# Clone the repository
git clone https://github.com/debpalash/VoiceStudio.git
cd VoiceStudio
# Enter the FHS development environment
nix develop .#fhs
# or enter directly via nix run:
nix run .#fhs
# Inside the environment, install dependencies and launch the app
bun run devIf you are developing on macOS or Linux with nix-ld configured:
# Clone the repository
git clone https://github.com/debpalash/VoiceStudio.git
cd VoiceStudio
# Enter the standard development shell
nix develop
# Install dependencies and launch the app
bun run devThe nix develop shell provides:
- Toolchains:
bun,nodejs_22,uv,rustc,cargo,pkg-config. - System & multimedia libraries:
alsa-lib,xdotool,libxtst,libx11,libxkbcommon,wayland,openssl, andffmpeg. - Preconfigured
LD_LIBRARY_PATHandPKG_CONFIG_PATHhooks for native compilations.
Inside either shell, you can compile and test the native components:
# Run tests for the native Rust desktop bridge
cargo test --manifest-path native/desktop-bridge/Cargo.toml
# Check types and packaging contracts
bun run check:electron