If you get bored of re-installing your favourite GNOME Shell extensions after a fresh install, why not add another extension in to the mix?
I’m not crazy; there’s a GNOME extension called “Extension Sync” and, honestly, I’d be amazed if you can’t already guess what it does!
A free add-on for GNOME Shell environments (like that used in Ubuntu, Pop OS, et al), ‘Extension Sync’ lets you sync your GNOME extensions (and their configuration) to and from Gist.
Yeah, I did say Gist, aka that ace text sharing tool from Github (which means you also need a Github account to this add-on)
While the ‘Extension Sync’ extension isn’t new (nor is the ability to sync GNOME extensions between desktops) the latest version of this particular add-on addresses a slate of (dependency related) issues reported by earlier users.
So, if you’ve come across this nifty bolt-on before, but were put off by the negative reviews, why not give it another go?
It’s relatively easy to get up things up and running, too.
Sync GNOME Extensions
Firstly, install the sync extension from the GNOME extensions website (if you don’t know how, follow the set-up instructions on the website):
Once the sync extension installed you’ll need to link it to a Gist, so that it can fetch and sync your extensions.
To do this, create a new Gist on Github (and make it secret). Make a note of the Gist ID (the long string of numbers after your username).
You’ll also need to snag a Gist token from the Gist token vending machine page.
Pop open the Sync Extension settings page (use GNOME Tweaks, or use the ‘cog’ icon on the GNOME Extensions website), enter the Gist ID and Gist token from the steps above and… you’re all set.
Use the “upload” and “download” options to sync to or from Gist. The ‘Sync Extension’ will copy a list of all currently installed GNOME extensions and their settings to the Gist file you created.
Now, in future, when you next reinstall Ubuntu or switch distro you simply install the sync extension on your new desktop, plug in the Gist ID and token numbers, and let add-on download and install the listed extensions (and their settings).