diff --git a/.github/workflows/flutter-ci.yaml b/.github/workflows/flutter-ci.yaml
index 1404451..e3e19d7 100644
--- a/.github/workflows/flutter-ci.yaml
+++ b/.github/workflows/flutter-ci.yaml
@@ -111,20 +111,48 @@ jobs:
- name: Install Linux dependencies
run: |
sudo apt-get update -y
- sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
+ sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev locate libfuse2
+ # Download and install appimagetool
+ wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
+ chmod +x appimagetool-x86_64.AppImage
+ sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool
shell: bash
- name: setup fastforge
run: |
dart pub global activate fastforge
- - name: Build Linux AppImage
- run: fastforge package --platform linux --targets deb
+ - name: Build Linux AppImage and deb
+ run: fastforge package --platform linux --targets deb,appimage
- - name: Upload deb Artifacts
+ - name: Rename Linux Artifacts
+ run: |
+ # Find and rename .deb file
+ DEB_FILE=$(find dist/ -name "*.deb" -type f)
+ if [ -n "$DEB_FILE" ]; then
+ mv "$DEB_FILE" dist/vaani-linux-amd64.deb
+ echo "Renamed DEB: $DEB_FILE to dist/vaani-linux-amd64.deb"
+ else
+ echo "Error: .deb file not found in dist/"
+ exit 1
+ fi
+
+ # Find and rename .AppImage file
+ APPIMAGE_FILE=$(find dist/ -name "*.AppImage" -type f)
+ if [ -n "$APPIMAGE_FILE" ]; then
+ mv "$APPIMAGE_FILE" dist/vaani-linux-amd64.AppImage
+ echo "Renamed AppImage: $APPIMAGE_FILE to dist/vaani-linux-amd64.AppImage"
+ else
+ echo "Error: .AppImage file not found in dist/"
+ exit 1
+ fi
+ shell: bash
+
+ - name: Upload Linux Artifacts
uses: actions/upload-artifact@v4
with:
name: linux-release-artifacts
path: |
- dist/*/*.deb
+ dist/vaani-linux-amd64.deb
+ dist/vaani-linux-amd64.AppImage
# Job 4: Create GitHub Release (NEW - runs only on tag pushes)
create_release:
diff --git a/README.md b/README.md
index 869bc3f..14f16fb 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,11 @@ Client for [Audiobookshelf](https://github.com/advplyr/audiobookshelf) server ma
*Play Store version is paid if you want to support the development.*
+### Linux
+
+[
](https://github.com/Dr-Blank/Vaani/releases/latest/download/vaani-linux-amd64.deb)
+[
](https://github.com/Dr-Blank/Vaani/releases/latest/download/vaani-linux-amd64.AppImage)
+
## Screencaps
https://github.com/user-attachments/assets/2ac9ace2-4a3c-40fc-adde-55914e4cf62d
diff --git a/linux/packaging/appimage/make_config.yaml b/linux/packaging/appimage/make_config.yaml
new file mode 100644
index 0000000..b1183ae
--- /dev/null
+++ b/linux/packaging/appimage/make_config.yaml
@@ -0,0 +1,34 @@
+display_name: Vaani
+package_name: vaani
+
+maintainer:
+ name: Dr.Blank
+ email: drblankdev@gmail.com
+
+priority: optional
+
+section: x11
+
+installed_size: 75700
+
+essential: false
+
+icon: assets/icon/logo.png
+
+postuninstall_scripts:
+ - echo "Sorry to see you go."
+
+keywords:
+ - Audiobook
+ - Audiobook Player
+ - Audiobookshelf
+
+generic_name: Audiobook Player
+
+categories:
+ - AudioVideo
+ - Audio
+ - Player
+
+startup_notify: true
+# TODO: Review and update fields for AppImage specifics (e.g., icon, metadata).