From 39488ec09485c4c78cd8a6440fdcb8d47c11a807 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Sun, 31 May 2026 23:24:59 +0200 Subject: [PATCH] Add flatpak manifest --- .gitignore | 4 ++++ README.md | 29 ++++++++++++++++++++++++++++ assets/immich-rs.desktop | 7 +++++++ sh.nubo.immich-rs.yml | 41 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 README.md create mode 100644 assets/immich-rs.desktop create mode 100644 sh.nubo.immich-rs.yml diff --git a/.gitignore b/.gitignore index 0b4d4bf..6b898d5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,7 @@ # These are backup files generated by rustfmt **/*.rs.bk + +# Flatpak stuff +/repo +*.flatpak diff --git a/README.md b/README.md new file mode 100644 index 0000000..bdb0363 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# immich-rs +Desktop client for https://immich.app/ + +## Building (Flatpak) + +1) Install flatpak + +2) Install runtime and SDK + +``` +flatpak --user install flathub \ + org.freedesktop.Platform//25.08 \ + org.freedesktop.Sdk//25.08 \ + org.freedesktop.Sdk.Extension.rust-stable//25.08 +``` + +3) Build flatpak + +``` +flatpak-builder --user --force-clean --repo=repo build-dir sh.nubo.immich-rs.yml +``` + +Add `--disable-rofiles-fuse` if running in an environment without FUSE. + +4) Export flatpak bundle + +``` +flatpak build-bundle repo sh.nubo.immich-rs.flatpak sh.nubo.immich-rs +``` diff --git a/assets/immich-rs.desktop b/assets/immich-rs.desktop new file mode 100644 index 0000000..21fda68 --- /dev/null +++ b/assets/immich-rs.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=immich-rs +Comment=Immich desktop client +Exec=immich-rs +Icon=sh.nubo.immich-rs +Type=Application +Categories=Network;Photography;AudioVideo; diff --git a/sh.nubo.immich-rs.yml b/sh.nubo.immich-rs.yml new file mode 100644 index 0000000..5342861 --- /dev/null +++ b/sh.nubo.immich-rs.yml @@ -0,0 +1,41 @@ +app-id: sh.nubo.immich-rs +runtime: org.freedesktop.Platform +runtime-version: '25.08' +sdk: org.freedesktop.Sdk +sdk-extensions: + - org.freedesktop.Sdk.Extension.rust-stable + +build-options: + append-path: /usr/lib/sdk/rust-stable/bin + build-args: + - --share=network + +command: immich-rs + +finish-args: + # Core Wayland access + - --socket=wayland + # GPU acceleration (DRI) + - --device=dri + # Access to XDG dirs + - --filesystem=xdg-config/immich-rs:create + - --filesystem=xdg-data/immich-rs:create + - --filesystem=xdg-cache/immich-rs:create + # Talk to portal for file dialogs, etc. + - --talk-name=org.freedesktop.portal.Desktop + # Network access + - --share=network + +modules: + - name: immich-rs + buildsystem: simple + build-commands: + - cargo build --release --locked + - install -Dm755 ./target/release/immich-rs -t /app/bin/ + - install -Dm644 ./assets/immich-rs.desktop /app/share/applications/sh.nubo.immich-rs.desktop + - install -Dm644 ./assets/immich-logo.svg /app/share/icons/hicolor/scalable/apps/sh.nubo.immich-rs.svg + # - install -Dm644 ./assets/sh.nubo.immich-rs.metainfo.xml -t /app/share/metainfo/ + sources: + - type: dir + path: . +