FluffInstall is the official installer for Fluff Linux.
Built with Rust and Qt 6, it provides a curated installation workflow for deploying Fluff Linux from the live environment to internal or portable storage. The interface combines detailed drive information, clear installation progress, and useful failure reporting with the established FluffInstall installation process.
- Guided installation workflow
- Automatic drive discovery and refreshing
- Support for HDDs, SATA SSDs, NVMe SSDs, USB storage, SD cards, and MMC storage
- Drive model, serial number, type, capacity, and device name display
- Existing data partitions shown with their labels, filesystems, sizes, and partition names
- Automatic exclusion of the live installation media
- Automatic selection when only one suitable destination drive is available
- Protection against selecting drives that do not meet the minimum system requirements
- Laptop installation protection when the battery is below 10% and the charger is disconnected
- Clear confirmation before the selected drive is erased
- Live installation stage and task progress
- System file loading, verification, installation, and configuration tracking
- Installation cancellation with active process termination and filesystem cleanup
- Detailed technical errors identifying the command or installation stage that failed
The installer is currently available in English. Language and regional settings are selected through FluffSetup after installation.
FluffInstall guides the installation through the following stages:
- Selecting an installation drive
- Reviewing and confirming the selected drive
- Formatting and partitioning the drive
- Loading and verifying the system files
- Installing the system files
- Configuring the installed system
- Finalizing the installation
Completed stages are marked clearly, while the active stage displays animated progress and additional information when available.
If installation fails, FluffInstall reports the error in technical form. Error messages identify the failed operation and may include the relevant device, mount point, command, or pacman error. This keeps the interface straightforward while preserving the information needed for troubleshooting.
User creation and other first boot configuration are handled separately by FluffSetup.
During installation, FluffInstall creates a temporary fluffsetup account and prepares a dedicated FluffSetup session. After rebooting, FluffSetup completes the user-facing configuration of the installed system.
Separating installation from first boot configuration keeps FluffInstall focused on preparing the drive and installing Fluff Linux. It also supports OEM installations by allowing a system to be installed before its final user, account, language, and regional settings are selected.
The live image must provide the following FluffSetup files:
/usr/lib/fluffinstall/fluffsetup/fluffsetup
/usr/lib/fluffinstall/fluffsetup/fluffsetup.desktop
/usr/lib/fluffinstall/fluffsetup/fluffsetup-session
FluffInstall verifies that these files are available before formatting begins. If a required installation file is missing, installation stops before the selected drive is modified.
During installation, the files are placed at:
/usr/bin/fluffsetup
/usr/share/wayland-sessions/fluffsetup.desktop
/usr/lib/fluffsetup/fluffsetup-session
FluffInstall should be built inside Fluff Linux or another Arch Linux environment.
Install the required build packages:
sudo pacman -S --needed base-devel rust cmake clang qt6-base qt6-declarativeFluffInstall uses CXX-Qt and the Qt 6 libraries supplied by the system. QML and interface assets are embedded into the executable during compilation.
The dependency list is deliberately kept small. System-provided Qt libraries and standard Linux utilities perform drive discovery, formatting, mounting, system installation, configuration, and bootloader setup.
From the repository root:
cargo build --releaseThe resulting executable will be located at:
target/release/fluffinstall
FluffInstall is distributed under the MIT License.
Copyright © FluffNet LLC


