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