What is a GNOME Shell extension?

GNOME Shell extensions are add-ons that extend GNOME Shell. These extensions modify GNOME Shell either by adding functionality (i.e. Caffeine or TwitchLive_Panel), or modifying core functionality (e.g. CoverFlow). These extensions are typically provided and maintained by third-party developers. However, they sometimes find their way to GNOME.

Where to find extensions

There are two ways you can get a GNOME Shell extension. The first way is via their website: https://extensions.gnome.org. Because the Extensions website uses special plugin functionality, you must access it using the Mozilla Firefox web browser. Once you access the site you’ll see a prompt to allow the GNOME Shell Integration. Once allowed, you are prompted to either Allow Now or Allow and Remember your decision.

The second option for getting a GNOME Shell extension is with DNF. You can search for extensions by opening the terminal and running the following command

dnf search gnome-shell-extension

The list of GNOME Shell extensions you can choose from will be smaller compared to the GNOME Extensions website. You can get a few more by using this command, since not all of the packages are named with “gnome-shell-extension”:

dnf search gnome | grep extension

To install via the command line, run this command:

dnf install <package-name>

How to install extensions

Now let’s get some GNOME Shell extensions installed via the GNOME website. In this example, we’ll install the Applications Menu and Dash to Dock extensions. Once I access the website I will be prompted by Firefox to allow the GNOME Shell Integration mentioned earlier. I’m going to allow this.


I will then be prompted to Allow Now or Allow and Remember. You may choose either, although Always is more convenient since you won’t be prompted every time you visit the site.


Luckily the first extension is on the front page. Select the Applications Menu extension.


On the details page of the extension, you can see the description, comments and the ability to install the extension. You can toggle the On/Off switch by clicking it, to install (On) or disable (Off) the extension.


Now go back to the front page. This time, search for Dash to Dock.


Select the Dash to Dock extension. Once on the Dash to Dock page, toggle the On switch to install the extension. When you toggle the switch you are prompted with an install message. This is because the extension isn’t already on your machine. The previous extension is already included with your Fedora Workstation installation (as of Fedora 24). At this point, you can just click Install.


How do I configure a GNOME Shell extension?

Now that there are some extensions installed, let’s configure an extension. You need the GNOME Tweak Tool utility for this. You can get GNOME Tweak Tool by entering the following command into the terminal:

sudo dnf install gnome-tweak-tool

Or you can install it via the Software Center. When you open the Software Center you can search for tweak. GNOME Tweak Tool should be the first search result. Click the Install button to install the package.


Once it’s installed, open it and click on the Extensions section on the left side of the window. The website allows you to turn on, install and disable extensions. This is also where you can remove extensions by clicking the Remove button for that extension. 


You can also configure an extension by clicking on its gear button. For instance, click on the gear for Dash to Dock and notice you can adjust whether it autohides, extend the panel, or adjust the icon size.


Now you can enjoy the benefits of the extensible GNOME Shell, with a variety of add-ons of your choice.