Gnome Shell Extension management in Silverblue

I have installed Silverblue on a spare laptop to try it out, and it is working well!
However, one thing I’m missing is the ability to handle my shell extensions via extensions.gnome.org.
It is possible to install extensions directly in Software, which is great, but it does not allow for temporary disable or accessing the settings.

The package chrome-gnome-shell is required to allow extensions.gnome.org to function fully (with any browser). Alternatively, Gnome Tweaks could be used for managing the extensions.
Both of these packages can of course be layered, but I feel that at least one of them should be included in the base image.

Would it be possible to include gnome-tweaks or chrome-gnome-shell in the base image?
Or maybe Gnome Tweaks will be available as flatpak? That would also make this feel better. :slight_smile:

3 Likes

A good suggestion. I’ll make sure we consider it in the next working group meeting.

1 Like

Actually it seems that gnome tweak tool wouldn’t do the trick anyways. It doesn’t even show the option:

From regular Fedora I would expect it at the bottom.

Wonder if it has something to do with the altered home folder location?


Though just realized you can actually install gnome extensions through software center? :no_mouth:

1 Like

The desktop extensions in GNOME Software are the stable ones - if you want the latest, you need to install chrome-gnome-shell and use the extensions website.

But yes, gnome-tweaks needs to be in the base.

Pull requests welcome! :smile:

https://pagure.io/workstation-ostree-config/pull-requests

GNOME Software pulls extensions from extensions.gnome.org, so they are exactly same.

1 Like

Chrome-gnome-shell installed as a layered package (or included in the base image) works with the rpm version of Firefox but won’t work with the flatpak version of Firefox. I have opened an issue in gitlab with the developer of chrome-gnome-shell. See the following link:

1 Like

I’ve been experimenting with GNOME shell extensions in Silverblue 29 Beta 1.3. In theory, there are three ways you can install them:

  1. If they’re in the tree, with sudo rpm-ostree install <extension>.
  2. With the browser, by visiting the extension loader.
  3. In GNOME Software.

On my system, 3 works and 2 doesn’t. 1 works, but at least one of the extensions, dash-to-dock, doesn’t work. The one from GNOME Software does work.

GNOME Software is probably the way to go. Unfortunately it doesn’t appear to be able to update extensions at the moment. After rebasing my Silverblue installation to 30 I had to uninstall and then reinstall dash-to-dock to get the new and GNOME-3.32-compatible version.

  1. Software is not very good at managing extensions. No option for disabling (you need gnome-tweaks for that) and it does not pick up extensions installed through other means than Software (e.g. manually or using the extensions website). Sorry but there is no easy solution here.
  2. I believe gnome-tweaks as a separate application is an abomination. It should be merged with the core configuration system a.s.a.p. Until then, including gnome-tweaks in the base image makes perfect sense. Without tweaks, some of the most basic options to configure the gnome desktop experience are missing. Hoping @mclasen can address merging all of gnome-tweak’s features into the main configuration window in future gnome design choices.
1 Like

You can enable/disable extension in GNOME Software. There is a “extension settings” button in the shell extensions tab. It’s similar to what you get in GNOME Tweak Tool.

Or you can manage GNOME extensions from the website.

As there is now an official flatpak image of Firefox from Fedora I reported the same bug there, that one cannot use chrome-gnome-shell to install extensions from Firefox there.

https://bugzilla.redhat.com/show_bug.cgi?id=1727448

Extensions have been removed from Gnome Software in Fedora 32/Gnome 3.36 and there is a new Gnome Extensions app: https://help.gnome.org/misc/release-notes/3.36/

GNOME shell extensions are now managed using a new Extensions app, rather than Software. The Extensions app handles updating extensions, configuring extension preferences and removing or disabling unwanted extensions.

Extensions should be installed using the extensions.gnome.org website, so browser-flatpaks have to learn how to do that.

The Gnome Extensions package is called gnome-extensions-app and should probably be added to the base image.

2 Likes

There’s ongoing work to allow building the Extensions app as flatpak in GNOME 3.36.1 (due at the end of the month), so it should soon be possible to install it without layering.

4 Likes

flatpak install fedora org.gnome.Extensions
https://github.com/fedora-silverblue/issue-tracker/issues/45#issuecomment-614773671

1 Like

Isn’t the official GNOME version on Flathub?

Yes: GNOME Extensions on Flathub.

It doesn’t look like you can install extensions through the extensions application.

1 Like

I understand the need to keep the Software codebase focussed on the main use cases, but as a user I found the Software way to be so much better and more intuitive than installing through a website that has buttons/levers created by a strange Firefox addon I didn’t even know I had (talking about first-time use now). A lot of Fedora users have been used to this for so long that they no longer notice that it violates the principle of least astonishment in several ways, unlike using Software, which just makes sense. If it were up to me, the Software way would be reinstated, and extensions.gnome.org would be deleted from the internet. Or expand the Extensions app with simple browse/download capabilities.

Yes, I’m grumpy because I’ve removed the bundled Firefox and use the flatpak exclusively now, and I either have to jump through massive hoops (thanks for the instructions in the other thread, though!) or reinstall the bundled firefox just for the sake of an extension. I know most users won’t uninstall the bundled Firefox, but considering it works badly (codecs missing), keeping it around just for extensions just feels so unnecessary.