Compare commits

...

2 Commits

Author SHA1 Message Date
39488ec094 Add flatpak manifest 2026-05-31 23:24:59 +02:00
3027fa207c Change immich-sdk to a git dependency 2026-05-31 23:22:54 +02:00
6 changed files with 87 additions and 1 deletions

4
.gitignore vendored
View File

@@ -2,3 +2,7 @@
# These are backup files generated by rustfmt # These are backup files generated by rustfmt
**/*.rs.bk **/*.rs.bk
# Flatpak stuff
/repo
*.flatpak

1
Cargo.lock generated
View File

@@ -2482,6 +2482,7 @@ dependencies = [
[[package]] [[package]]
name = "immich-sdk" name = "immich-sdk"
version = "1.137.0" version = "1.137.0"
source = "git+https://git.nubo.sh/hulthe/immich-sdk.git?rev=c0bde4f8bd50d2861548666297f40bed3b85b865#c0bde4f8bd50d2861548666297f40bed3b85b865"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",

View File

@@ -11,7 +11,6 @@ clap = { version = "4.6.0", features = ["derive", "env"] }
either = "1.15.0" either = "1.15.0"
futures = "0.3.32" futures = "0.3.32"
image = { version = "0.25.10", default-features = false, features = ["serde", "webp"] } image = { version = "0.25.10", default-features = false, features = ["serde", "webp"] }
immich-sdk.path = "../immich-sdk/"
kameo = "0.19.2" kameo = "0.19.2"
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149" serde_json = "1.0.149"
@@ -23,6 +22,11 @@ xdg = "3.0.0"
tikv-jemallocator = "0.6" tikv-jemallocator = "0.6"
toml = "1.1.2" toml = "1.1.2"
[dependencies.immich-sdk]
#path = "../immich-sdk"
git = "https://git.nubo.sh/hulthe/immich-sdk.git"
rev = "c0bde4f8bd50d2861548666297f40bed3b85b865"
[dependencies.slint] [dependencies.slint]
version = "1.16.1" version = "1.16.1"
default-features = false default-features = false

29
README.md Normal file
View File

@@ -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
```

7
assets/immich-rs.desktop Normal file
View File

@@ -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;

41
sh.nubo.immich-rs.yml Normal file
View File

@@ -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: .