aboutsummaryrefslogtreecommitdiff
path: root/flatpak
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-14 15:40:33 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-14 15:40:33 -0600
commit6410929e17d642618f284d5c97d457f1ac653e6e (patch)
tree5c0ee09e04f38a2dd70f1734d25c74e0b8ae5d43 /flatpak
parent817e8f5cd26739c69d930d21cd9dc4c0b6e4984e (diff)
Migrate data paths to ~/.local/share/fluorine/, add native build, fix %command% and system Proton scanning
- All data paths migrated from ~/.var/app/com.fluorine.manager/ to ~/.local/share/fluorine/ so native and Flatpak builds share the same instances, plugins, and configs - New fluorinepaths.h/.cpp with fluorineDataDir() helper and one-time migration from old path (writes MOVED.txt breadcrumb) - New libs/nak/src/paths.rs as Rust equivalent (data_dir()) - Strip %command% tokens from launch wrapper in protonlauncher.cpp - Always scan /usr/share/steam/compatibilitytools.d/ for system Proton packages (Arch installs Proton there); add Flatpak filesystem permission - Native build (build-native.sh) installs to ~/.local/share/fluorine/ with desktop entry and ~/.local/bin symlink instead of portable zip - build-flatpak.sh wrapper for Flatpak builds - Fix container locale (LANG=C.UTF-8) for AutoUic warnings - Fix prefixExists() to handle both compatdata and pfx directory layouts - Fix globalInstancesRootPath() to use fluorineDataDir() on Linux - Fix umu-run Flatpak lookup to use fluorineDataDir() - Update README with build instructions and Arch dependency list Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'flatpak')
-rw-r--r--flatpak/com.fluorine.manager.yml3
-rwxr-xr-xflatpak/fluorine-manager-wrapper.sh5
2 files changed, 4 insertions, 4 deletions
diff --git a/flatpak/com.fluorine.manager.yml b/flatpak/com.fluorine.manager.yml
index 834d8e9..a8ad61c 100644
--- a/flatpak/com.fluorine.manager.yml
+++ b/flatpak/com.fluorine.manager.yml
@@ -19,6 +19,7 @@ finish-args:
- --filesystem=~/.steam:ro
- --filesystem=~/.local/share/Steam
- --filesystem=~/.var/app/com.valvesoftware.Steam:ro
+ - --filesystem=/usr/share/steam:ro
- --talk-name=org.freedesktop.Flatpak
cleanup:
@@ -228,8 +229,6 @@ modules:
cmake -S . -B _build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=/app \
- -DPython3_ROOT_DIR=/app/lib/fluorine/python \
- -DPython3_EXECUTABLE=/app/lib/fluorine/python/bin/python3 \
-DBUILD_PLUGIN_PYTHON=ON
- cmake --build _build --parallel
diff --git a/flatpak/fluorine-manager-wrapper.sh b/flatpak/fluorine-manager-wrapper.sh
index fabe535..2e05fcb 100755
--- a/flatpak/fluorine-manager-wrapper.sh
+++ b/flatpak/fluorine-manager-wrapper.sh
@@ -27,7 +27,8 @@ if [ -n "$INSTANCE_DIR" ] && [ -d "$INSTANCE_DIR" ]; then
USER_DIR="$INSTANCE_DIR"
else
# Global instance: shared overlay at ~/.local/share/fluorine/
- USER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/fluorine"
+ # Use $HOME directly to bypass Flatpak's XDG_DATA_HOME remapping.
+ USER_DIR="$HOME/.local/share/fluorine"
fi
# ── Create writable overlay with symlinks to bundled files ──
@@ -78,7 +79,7 @@ setup_overlay() {
# VFS helper must be a real binary copy (not a symlink to /app/) because
# it runs on the host via flatpak-spawn --host, where /app/ doesn't exist.
# libfuse3 is statically linked, so no extra .so files needed.
- VFS_HELPER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/fluorine/bin"
+ VFS_HELPER_DIR="$HOME/.local/share/fluorine/bin"
if [ -e "${BUNDLED}/mo2-vfs-helper" ]; then
mkdir -p "${VFS_HELPER_DIR}"
cp -f "${BUNDLED}/mo2-vfs-helper" "${VFS_HELPER_DIR}/mo2-vfs-helper"