A complete guide to migrating your Firefox installation from Flatpak to the native Arch Linux package while preserving all your data, settings, bookmarks, and extensions.
- Arch Linux system
- Firefox Flatpak currently installed
- Access to terminal with sudo privileges
First, install the native Firefox package:
sudo pacman -S firefoxImportant: Do not remove the Flatpak version yet - we need to copy data from it first.
Make sure Firefox is completely closed:
pkill -9 firefoxCopy your Firefox profile from the Flatpak location to the standard location:
cp -r ~/.var/app/org.mozilla.firefox/.mozilla/firefox ~/.mozilla/This copies all your:
- Bookmarks and history
- Extensions and their data
- Saved passwords
- Cookies and site data
- Preferences and settings
- Open tabs and session data
The native Firefox installation uses a different installation ID than Flatpak, which can cause it to create a new empty profile instead of using your copied data. You need to update the configuration files to point to your existing profile.
du -sh ~/.mozilla/firefox/*/ | sort -hLook for the largest profile (typically several hundred MB) - this contains your data. Note its name (e.g., bbeosbo1.default-release).
- Open the file:
nano ~/.mozilla/firefox/installs.ini-
Find the section for your current installation (the first section, typically something like
[4F96D1932A9F858E]) -
Change the
Default=line to point to your profile with data:
[4F96D1932A9F858E]
Default=bbeosbo1.default-release
Locked=1Replace bbeosbo1.default-release with your actual profile name.
- Open the file:
nano ~/.mozilla/firefox/profiles.ini-
Find the section starting with
[Installfollowed by a hash (e.g.,[Install4F96D1932A9F858E]) -
Update the
Default=line to match your profile:
[Install4F96D1932A9F858E]
Default=bbeosbo1.default-release
Locked=1Save both files (Ctrl+O, Enter, Ctrl+X in nano).
Launch Firefox:
firefoxYou should now see:
- All your bookmarks and history
- All installed extensions
- Your saved passwords and settings
- Your previous browsing session (if that was enabled)
After confirming everything works, you can remove the empty profiles that were created:
# First, identify empty profiles (small size, typically < 100MB)
du -sh ~/.mozilla/firefox/*/
# Remove empty profiles (example names - check yours first!)
rm -rf ~/.mozilla/firefox/xze5vicp.default-release-1
rm -rf ~/.mozilla/firefox/phzg972a.default-release-1Warning: Double-check you're removing the correct profiles. Only remove profiles that are small in size and were created during this migration.
Once you've confirmed everything works correctly for a few days, you can remove the Flatpak version:
flatpak uninstall org.mozilla.firefoxIf you want to remove the Flatpak data as well:
rm -rf ~/.var/app/org.mozilla.firefoxIf Firefox still appears as a fresh installation:
- Verify the profile was copied:
ls -la ~/.mozilla/firefox/- Check that your profile directory contains data:
ls -la ~/.mozilla/firefox/YOUR-PROFILE-NAME/You should see files like places.sqlite (bookmarks/history), logins.json (passwords), etc.
-
Double-check both
installs.iniandprofiles.iniare pointing to the correct profile. -
Make sure Firefox is completely closed before making configuration changes:
pkill -9 firefoxIf you encounter permission errors, ensure the copied files have the correct ownership:
chown -R $USER:$USER ~/.mozilla/firefox/
chmod -R 700 ~/.mozilla/firefox/If you get a "profile is locked" error:
rm ~/.mozilla/firefox/YOUR-PROFILE-NAME/.parentlock
rm ~/.mozilla/firefox/YOUR-PROFILE-NAME/lockFlatpak applications run in a sandbox with their own directory structure:
- Flatpak Firefox data:
~/.var/app/org.mozilla.firefox/.mozilla/firefox/ - Native Firefox data:
~/.mozilla/firefox/
The native package won't automatically find the Flatpak data, so manual migration is required.
- Better system integration
- Direct access to native messaging for extensions
- Potentially better performance (no sandboxing overhead)
- Simpler file paths and troubleshooting
- More consistent with other Arch packages
- The migration process is non-destructive - your Flatpak data remains untouched until you explicitly remove it
- You can always reinstall the Flatpak version and use the old data if needed
- Consider waiting a few days before removing the Flatpak version to ensure everything works correctly
- Firefox Sync can be used as a backup/alternative migration method, though it may not sync everything
Last Updated: December 2025 Tested On: Arch Linux with Firefox 133+ Guide by: Claude AI