Skip to content
This repository has been archived by the owner on Apr 22, 2024. It is now read-only.

Syncs gnome shell keybindings, tweaks settings and extensions with their configuration across all gnome installations

License

Notifications You must be signed in to change notification settings

oae/gnome-shell-extensions-sync

Repository files navigation

Extensions Sync

Syncs gnome shell extensions and their configurations across all gnome installations with the help of gist

SS

Installation

curl https://raw.githubusercontent.com/oae/gnome-shell-extensions-sync/master/installer.sh | bash

Dependencies

  • This extension depends on gxml

Usage

  1. Create a new gist from here I suggest you make it secret.
  2. Create a new token from here. Only gist permission is needed since we edit the gists.
  3. Open extension settings and fill gist id from first step and gist token from second step.
  4. Enjoy!

Notes

  • 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",
        },
      }
    }
  }
}