Can't layer firefox

On Aurora-DX 40.20240427.0

I can’t seem to layer Firefox with rpm-ostree, since it’s claimed to be present in a base image, but… not really? It’s not in path, there are no desktop files, and looking around the system it just doesn’t seem to be present. I don’t want to use the Flatpak version because it breaks 1password’s native messaging (NativeMessaging portal for sandboxed browsers · Issue #655 · flatpak/xdg-desktop-portal · GitHub).

Whenever I try to add it, I get:

Inactive requests:
firefox (already provided by firefox-125.0.2-1.fc40.x86_64)

This is one of the rough points of rpm-ostree. Removed packages in a lower layer cannot be reenabled.

I use the firefox extension and I’m not using the native app until the native portal thing is fixed: 1Password: Password Manager – Get this Extension for 🦊 Firefox (en-US)

This works okay, but it gets a bit tedious once you start using more than one profile. Probably just going to layer another browser. But good to know that it’s not just me failing to grasp rpm-ostree (just a UX issue).

… and nevermind, I seem to have gotten it to work somehow? The last update seemed to have included it now.

State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:latest
                   Digest: sha256:eb2d2a5c5d246e08f3544bb6863060376232b8d818ce0ef6c33b64dcd6fb9234
                  Version: 40.20240428.0 (2024-04-29T02:07:21Z)
          LayeredPackages: 1password 1password-cli firefox syncthing
❯ which firefox
/usr/bin/firefox

Just the desktop files missing. I’d love to figure out how to reproduce this.

Edit: And it promptly got removed in the next transactions. What the heck is going on?!

1 Like

I also cannot get Firefox installed via rpm-ostree.

> rpm-ostree status -vb
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
BootedDeployment:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora:gts (index: 0)
                   Digest: sha256:dca74c86e3463637b076de59f81ebaf5b67a7ed0078d806cd85a078964325aac
                  Version: 39.20240509.0 (2024-05-09T16:52:09Z)
               BaseCommit: 061262ff752082296c0b5f24de39c6fc7dc3b510d1c07381ba1d9a74fea72527
                   Commit: 85ba907f9b29a3786b9896b5b0bb7f405ec1ba1e0b555e87faa33abfb4b33165
                           ├─ 1password (2024-05-01T09:40:06Z)
                           ├─ fedora (2023-11-01T00:12:39Z)
                           ├─ google-chrome (2024-05-09T21:06:21Z)
                           ├─ rpmfusion-nonfree-nvidia-driver (2024-05-02T14:37:09Z)
                           ├─ rpmfusion-nonfree-steam (2024-04-20T13:10:44Z)
                           ├─ updates (2024-05-09T01:56:28Z)
                           └─ updates-archive (2024-05-10T01:47:58Z)
                   Staged: no
                StateRoot: default
         InactiveRequests: firefox
          LayeredPackages: 1password pipx snapper xlsclients

I would really prefer not using the Firefox flatpak. Because I want it to properly communicate with 1password, keepassxc and expressvpn via extensions.

1 Like

Did you ever get this working?

You would need to set up your own Aurora-dx build to do this. Firefox is in the base Kinoite and Silverblue images, then gets removed in the Aurora and Bluefin layer. As @m2Giles said above, this prevents you from layering it.

Installing Firefox and the native host apps in a distrobox might work

With rechunk landing on Bluefin/Aurora. Layering Firefox may soon be possible.

1 Like

How would rechunk help? Not doubting just don’t know enough about the tools to know.

Looking at the changelog for 3.7.0 on https://bazzite.gg/, it looks like it may be there already?

The way it worked in the past is if we removed something, like Firefox, it doesn’t actually remove it from the image itself, it’s an override.

That meant that we had to carry a copy of it even though it was invisible to you, and also meant you can’t re-add a thing we removed.

Rechunker relayers the entire thing and then tries to organize things that would generally update at the same time into the same layer for efficiency. Since it’s freshly rechunked you can then layer on Firefox.

It’s also the reason rechunker saved us about a gig on each image. Firefox, kernels that we swapped out, etc. were all being dragged along even though we didn’t use them.

EDIT: Ideally bootc should just build it that way ootb, which I believe the intent is since parts of this got submitted and merged upstream.

3 Likes

Looking at installation order recommendation you should prefer to install firefox as distrobox. The whole idea is to have separation between system level software (layering is here) and application level software (flatpak or distrobox is here).

The simplest way to install application inside distrobox is to use BoxBuddy which is GUI application. Boxbuddy is already preinstalled.

You launch BoxBuddy, click on “+” in top left and select Linux diustribution you want distrobox container to run inside. Then wait for few minutes that process finishes and then inside opened terminal execute normal install process.

Distrobox incorporates installed files inside container and exposes your home directory on your Aurora.

That wouldn’t have solved my problem.

1 Like

So does the mean the layer should now work on Bazzite?

1 Like

It’s possible to run flatpak keepassxc connected to flatpak Firefox.

How so? Please do link.

1 Like