Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CCBlueX/LiquidLauncher/llms.txt

Use this file to discover all available pages before exploring further.

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