Skip to main content
This guide will walk you through the process of building LiquidLauncher from source code. LiquidLauncher is built with Tauri, combining a Rust backend with a Svelte frontend.

Prerequisites

Before you begin, ensure you have the following tools installed on your system:

Required Dependencies

Rust

Required for compiling the Tauri backend

Node.js

JavaScript runtime for the build process

Bun

Fast JavaScript package manager and runtime
LiquidLauncher uses a specific Rust nightly toolchain version: nightly-2026-01-14. This is automatically configured via the rust-toolchain.toml file in the repository.

Installing Rust

If you don’t have Rust installed, follow the instructions on Rust’s official website:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Installing Bun

Install Bun by following the instructions on Bun’s official website:
curl -fsSL https://bun.sh/install | bash

Cloning the Repository

1

Clone with submodules

Clone the repository including all submodules:
git clone --recurse-submodules https://github.com/CCBlueX/LiquidLauncher
The --recurse-submodules flag is important as the project depends on Git submodules.
2

Navigate to the directory

Change into the project directory:
cd LiquidLauncher

Building the Project

1

Install dependencies and build

Install all required Node.js dependencies and build the frontend:
bun install && bun run build
This command does two things:
  • bun install - Installs all npm dependencies from package.json
  • bun run build - Runs Vite to build the frontend application
2

Run in development mode (optional)

To run the launcher in development mode with hot-reloading:
bun run tauri dev
This will:
  • Start the Vite development server
  • Compile the Rust backend
  • Launch the application with debugging enabled
3

Build production executable

To create a production-ready executable:
bun run tauri build
This will:
  • Build the frontend in production mode
  • Compile the Rust backend with optimizations
  • Create platform-specific installers in src-tauri/target/release

Available Scripts

Here are the npm scripts defined in package.json:
{
  "dev": "vite",
  "tauri": "tauri"
}

Script Usage

  • bun run dev - Start Vite development server only (frontend)
  • bun run build - Build frontend for production
  • bun run preview - Preview production build locally
  • bun run tauri dev - Run full application in development mode
  • bun run tauri build - Build complete application for production

Project Structure

Understanding the project layout:
LiquidLauncher/
├── src/                    # Frontend source (Svelte)
│   ├── App.svelte         # Main application component
│   ├── lib/               # Reusable Svelte components
│   └── app.css            # Global styles
├── src-tauri/             # Backend source (Rust)
│   ├── src/               # Rust source code
│   ├── Cargo.toml         # Rust dependencies
│   └── tauri.conf.json    # Tauri configuration
├── package.json           # Node.js dependencies and scripts
├── rust-toolchain.toml    # Rust toolchain version
└── vite.config.js         # Vite bundler configuration

Rust Toolchain Configuration

The project uses a pinned Rust nightly toolchain specified in rust-toolchain.toml:
[toolchain]
channel = "nightly-2026-01-14"
This specific toolchain version is required for compatibility. Rustup will automatically download and use this version when building the project.

Build Requirements

Minimum Versions

  • Rust: 1.79.0 or higher (specified in Cargo.toml)
  • Node.js: 16.x or higher (for Vite 5)
  • Bun: 1.0.0 or higher

Platform-Specific Requirements

  • Microsoft Visual C++ Build Tools
  • Windows 10 SDK

Troubleshooting

Ensure you’re using the correct Rust toolchain:
rustup show
The output should show nightly-2026-01-14. If not, run:
rustup install nightly-2026-01-14
If you forgot to clone with --recurse-submodules, initialize them manually:
git submodule update --init --recursive
Clear the cache and reinstall:
rm -rf node_modules bun.lock
bun install
Make sure you have all platform-specific dependencies installed. See the Platform-Specific Requirements section above.

Next Steps

Contributing

Learn how to contribute to LiquidLauncher

Architecture Overview

Explore the architecture and codebase structure

Build docs developers (and LLMs) love