feat: add Linux desktop support by xwhu · Pull Request #204 · GCWing/BitFun
Summary
This PR adds Linux desktop support to BitFun, enabling builds for Debian/Ubuntu (.deb), RPM-based distros (.rpm), and universal AppImage packages.
Changes
-
Build Scripts: Added 4 npm scripts for Linux builds:
- `desktop:build:linux` - Full Linux build (all formats)
- `desktop:build:linux:deb` - Debian package only
- `desktop:build:linux:rpm` - RPM package only
- `desktop:build:linux:appimage` - AppImage only
-
Tauri Configuration: Updated `tauri.conf.json` with:
- Linux bundle configuration
- Added `icon.png` for Linux icon support
- Debian package dependencies (libwebkit2gtk-4.1-0, libgtk-3-0)
-
Documentation:
- Updated README.md with Linux platform badge and build instructions
- Created `docs/linux-setup.md` with system requirements for Debian/Ubuntu, Arch, and Fedora
Test Plan
- Install system dependencies per `docs/linux-setup.md`
- Run `pnpm run desktop:build:linux`
- Verify `.deb` package is created in `src/apps/desktop/target/release/bundle/`
- Install and test the generated package
Notes
- Debug build tested successfully (698MB binary)
- Release bundle build requires significant time (30+ minutes typical for Rust release builds)
- No changes to core application code - only build configuration and documentation