Skip to content

(MIRROR) Unofficial Firefox Nightly flatpak built from tarball (x86_64 only)

License

Notifications You must be signed in to change notification settings

bbhtt/firefox-nightly-flatpak

Repository files navigation

Unofficial Firefox Nightly flatpak

Install

  1. Install flatpak (>=0.11.1), xdg-desktop-portal and its backends. Latest versions are preferred.

  2. Add the Flathub repository if absent

  3. Install this package

flatpak install [--user] https://gitlab.com/projects261/firefox-nightly-flatpak/-/raw/main/firefox-nightly.flatpakref

This sets up a new flatpak remote called firefoxnightly-origin.

Update

Updates will be fetched if available

flatpak update

Uninstall

flatpak remove [--delete-data] org.mozilla.FirefoxNightly
# Clear dependencies
flatpak uninstall --unused

GNOME Shell Search Provider

To enable:

  1. Go to about:config and create the pref browser.gnome-search-provider.enabled as boolean. Set the value to true
  2. Go to GNOME Control Center > Search and drag Firefox Nightly to the top of the list
  3. Restart Firefox and try searching in the shell overview

Bugs

Check if it is already a known issue first https://bugzilla.mozilla.org/show_bug.cgi?id=flatpak

Check if it is reproducible in the official tarball (preferably in a new profile or safe mode). If it is, open a bug with Mozilla, optionally use mozregression to bisect it.

Common troubleshooting help https://fedoraproject.org/wiki/How_to_debug_Firefox_problems

Otherwise feel free to open an issue here.

Credits

Mozilla for mainlining the stable flatpak recipes.

Original Nightly flatpak project https://gitlab.com/proletarius101/firefox-nightly-flatpak and CI templates https://gitlab.com/accessable-net/gitlab-ci-templates

Logo: Source, License

Set up personal repo

  1. Fork https://gitlab.com/projects261/firefox-nightly-flatpak and https://gitlab.com/projects261/gitlab-ci-templates

  2. Clone the repostories and update the URLs in .gitlab-ci.yml to point to the forks. Update other files if needed.

  3. Create a new GPG key locally, to sign the repository.

  4. Go to https://gitlab.com/-/profile/personal_access_tokens and create a token for $CI_GIT_TOKEN.

  5. Go to https://gitlab.com/<user>/<project>/-/settings/ci_cd, expand General and disable public pipeline. Hit save. Expand variables. Add the following variables necessary for the pipeline to run:

    Type Key Value Protected Masked
    Variable GPG_KEY_GREP Keygrip of GPG key Yes Optional
    Variable GPG_KEY_ID Keyid of GPG key Yes Optional
    File GPG_PASSPHRASE Passphrase of GPG Key Yes Optional
    File GPG_PRIVATE_KEY ASCII armoured private key Yes Optional
    Variable CI_GIT_TOKEN Token Yes Optional
  6. Make a push or trigger the pipeline. If successful, a page will be deployed at https://name.gitlab.io/firefox-nightly-flatpak

  7. Edit the flatpakref file: Url should be URL of the above Gitlab page and GPGKey is base64 encoded version of the gpg key:

gpg --export <keyid> > example.gpg
base64 example.gpg | tr -d '\n'
  1. Set up a schedule

  2. Install the flatpakref file as in step #4. Done!

Notes

Gitlab.com free tier gives 400 minutes per month of pipeline quota for entire the user/project namespace. A single build usually takes about ~15 minutes to complete and deploy and there is one nightly build published each day. If updates are not available for a while then usually it means the pipeline quota expired for the month and it'll reset in the next month.

Please set up your own repository if possible, following the instructions or build and install the flatpak locally following the instructions.

This package tries to stay close to Mozilla's official packaging and no modifications/preferences are applied beyond what is necessary for having a working flatpak.

The profile location is ~/.var/app/org.mozilla.FirefoxNightly/.mozilla/firefox

The flatpak is built from the official Nightly tarball published by Mozilla. The search provider, desktop file, run script, manifest, preferences, polices and appstream metadata are taken from Mozilla.

There are no plans for aarch64 builds. Mozilla does not publish tarballs for aarch64 and building from source is not possible.

My fork uses a script updater.sh to update the Firefox versions and checksums and my CI template pushes the changes directly to the main branch to save on CI minutes and as the variables above are exposed to the main branch only.

You can also use flatpak-external-data-checker like upstream. For that uncomment these lines and use the CI templates from upstream.

The langpacks are updated manually due to frequent checksum mismatches in the Gitlab shared runners, possibly due to a CDN or a cache issue. To automate them uncomment this.

Build locally

  1. Clone this repository
git clone https://gitlab.com/projects261/firefox-nightly-flatpak.git
cd firefox-nightly-flatpak
  1. Install flatpak, flatpak-builder and set up the Flathub repository

  2. Install the dependencies

flatpak install flathub org.freedesktop.Sdk//23.08
flatpak install flathub org.freedesktop.Platform//23.08
flatpak install flathub org.mozilla.firefox.BaseApp//23.08
  1. Run this command to build
flatpak-builder build --force-clean org.mozilla.FirefoxNightly.yaml
  1. To install
flatpak-builder build --force-clean --user --install org.mozilla.FirefoxNightly.yaml
  1. To update, change this URL to point to the latest release and update the sha256 below. Then redo step #3 and #4

  2. (Optional) To build a bundle follow https://docs.flatpak.org/en/latest/single-file-bundles.html

GPG key fingerprint used to sign repo: D53F C6E7 5E0A 45F5 386A 6588 F8A5 F798 CA25 7770