Syncs gnome shell extensions and their configurations across all gnome installations with the help of gist
From Git
curl https://raw.githubusercontent.com/oae/gnome-shell-extensions-sync/master/installer.sh | bash
From Ego
- You can install it from link below https://extensions.gnome.org/extension/1486/extensions-sync/
- Create a new gist from here I suggest you make it secret.
- Create a new token from here. Only gist permission is needed since we edit the gists.
- Open extension settings and fill gist id from first step and gist token from second step.
- Enjoy!
-
If you encounter a problem you can enable the debug logs with;
busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'window.extensionsSync.debug = true;'
-
Then trace them with;
journalctl /usr/bin/gnome-shell -f -o cat | grep "\[extensions-sync\]"
-
Downloading from gist will do 3 things.
- It will remove all extensions that are not exist in the gist.
- It will install extensions that are listed in gist and update their settings.
- It will update all the settings of installed the extensions.
-
Uploading to gist will dump all the settings of the installed extensions(enabled/disabled) and put them in the gist with the below structure
{ "description": "Extensions sync", "files": { "syncSettings": { "content": { "lastUpdatedAt": "time", } }, "extensions": { "content": { "extension1": { "schema1": "schema1 settings", "schema2": "schema2 settings", }, "extension2": { "schema1": "schema1 settings", "schema2": "schema2 settings", }, } } } }