SyncSettingsReborn
Maintained fork of Sync Settings. Sync Sublime Text 4 (build 4050+) settings across machines via GitHub Gists, offline zip backups, or Dropbox/Google Drive/OneDrive folders. Package Control: SyncSettingsReborn
Details
Installs
- Total 0
- Win 0
- Mac 0
- Linux 0
| Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | Nov 5 | Nov 4 | Nov 3 | Nov 2 | Nov 1 | Oct 31 | Oct 30 | Oct 29 | Oct 28 | Oct 27 | Oct 26 | Oct 25 | Oct 24 | Oct 23 | Oct 22 | Oct 21 | Oct 20 | Oct 19 | Oct 18 | Oct 17 | Oct 16 | Oct 15 | Oct 14 | Oct 13 | Oct 12 | Oct 11 | Oct 10 | Oct 9 | Oct 8 | Oct 7 | Oct 6 | Oct 5 | Oct 4 | Oct 3 | Oct 2 | Oct 1 | Sep 30 | Sep 29 | Sep 28 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
SyncSettingsReborn
English | 简体中文
A community-maintained fork of the unmaintained Sync Settings plugin, published as SyncSettingsReborn. If you used the original package, your gist_id and access_token are migrated automatically on first run.
With SyncSettingsReborn, you are able to synchronize your Sublime Text settings among multiple devices, and keep them updated.
Being powered by GitHub-Gists, SyncSettingsReborn provides you a reliable cross-platform solution to keep your backups secure.
Please, follow the steps below to getting started with SyncSettingsReborn.
SyncSettingsReborn works on Windows, Linux, macOS and requires Sublime Text 4 (build 4050 or newer).
Sync methods
Besides the default GitHub Gist backend, Reborn also offers PackageSync-style ways to sync:
- Offline Zip backup / restore —
SyncSettingsReborn: Backup to ZipandRestore from Zipproduce a portable archive of yourPackages/User. The zip is a local, offline export, so it is not filtered for secrets — treat the file as sensitive. Restore is the exact inverse of backup: whatever the archive contains is written back. - Backup Package List — back up only the installed package list.
- Sync Online (Dropbox / Google Drive / OneDrive) —
Define Folder,Push,Pullcommands move a zip in/out of any cloud-synced folder, no background process required.
On restore, preserve_packages (default true) merges the incoming installed_packages with your local list instead of overwriting it, so packages only on this machine are kept.
Getting Started
- Run
Package Control: Install Packagecommand, and looks for SyncSettingsReborn - Run
SyncSettingsReborn: Edit User Settings - if Do you already have a gist?
- Copy
gist idand put it in config file (https://gist.github.com/<username>/<gist id>) (gist_idproperty) - Run
SyncSettingsReborn: Downloadcommand to retrieve your backup.
- Copy
- else
- Create an access token here with
gistscope checked. - Put the token in the config file (
access_tokenproperty) - Run
SyncSettingsReborn: Uploadcommand (it creates a new Gist the first time, then updates it on every later run)
- Create an access token here with
File Format
Please note - the config file uses the JSON format. A simplified example may look like the following.
{
"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"gist_id": "xxxxxxxxxxxxxxxxxxxxxxxxx"
}
Options
By default, this plugin operates over Sublime Text packages folder (i.e /Users/<my_user>/Library/Application Support/Sublime Text/Packages/User), which means, excluded_files and included_files will look for files inside that folder.
| name | type | description |
|---|---|---|
access_token |
string |
Brings write permission to SyncSettingsReborn over your gists (edit, delete and create). (This option is not required, if you only want to download your backups) |
gist_id |
string |
Identifier of your backup on gist.github.com. |
auto_upgrade |
boolean |
If true, settings are kept in sync with the gist automatically: Sublime pulls the latest gist on startup, and a background loop both pulls remote changes and pushes local changes (upload-on-change) on a timer. The sync is a three-way merge (only changed files move each way), and a file edited on two machines at once is reported as a conflict — the local copy is backed up to ~/.sync_settings_reborn/conflicts/<timestamp>/ and the gist version wins, so nothing is silently lost. Requires access_token (and a gist_id for pulls; pushes create one if missing). Default false. |
auto_sync_interval |
number |
Background auto-sync poll interval in minutes, used only when auto_upgrade is true. Default 5. |
http_proxy |
string |
An HTTP proxy server to use for requests. |
https_proxy |
string |
An HTTPS proxy server to use for requests. |
excluded_files |
[]string |
In simple words, this option is a black list. Which means, every file that match with the defined pattern, will be ignored on sync. |
included_files |
[]string |
In simple words, this option is a white list. Which means, every file that match with the defined pattern, will be included on sync, even if it was included on excluded_files option. |
skip_uninstalled_packages |
boolean |
If true, files belonging to a package that is not currently installed are skipped on upload — covers leftover <Package>.sublime-settings/.sublime-keymap/etc. and <Package>/ data folders left behind by removed plugins. Global files (Preferences, Package Control, SyncSettingsReborn) and generic loose files directly in User are always kept. Default true. |
backup_path |
string |
Default output location for Backup to Zip (and the package-list backup). Empty falls back to ~/SyncSettingsReborn.zip. The package-list backup always uses a separate -packages filename, so it can never overwrite a full backup. |
prompt_for_location |
boolean |
When true, the backup/restore commands ask for a path before writing/reading; when false, they use backup_path. Default true. |
preserve_packages |
boolean |
On restore, merge the incoming installed_packages with the local list instead of overwriting it, so packages only on this machine are kept. Default true. |
ignore_dirs |
[]string |
fnmatch patterns for whole directory names to skip when collecting files (e.g. ["node_modules"]). |
online_sync_folder |
string |
Folder (typically a cloud-synced directory like Dropbox / Google Drive) used by the Sync Online commands to read/write the settings zip. Empty until you run Sync Online - Define Folder. |
Note:
excluded_filesandincluded_filesare patterns defined as unix shell style.Gist size limit: GitHub's gist REST API returns at most ~1 MiB of content per file in the inline
contentfield and marks larger filestruncated: true(only partial content). This only affects the inline field — theraw_urlendpoint (git backend) always serves the complete file, and uploads are never truncated (GitHub stores whatever you send). Both the manualDownloadcommand and background auto-sync fetch content viaraw_url, so files of any size are restored intact (including files pushed via git, whose inlinecontentis empty). The offline zip backup is unaffected.
Commands
GitHub Gist (cloud sync)
| command | description |
|---|---|
| SyncSettingsReborn: Upload | Creates a Gist the first time (when gist_id is empty) and updates it on every later run. No prompts — the new gist id is saved automatically. |
| SyncSettingsReborn: Download | Restores the latest backup from the gist_id in your settings into Packages/User. |
| SyncSettingsReborn: Delete | Deletes the remote Gist (this action is irreversible) and clears the saved gist_id. |
Resetting your backup: Run
SyncSettingsReborn: Delete(clears the savedgist_id), thenSyncSettingsReborn: Upload— Upload will create a fresh Gist with your current files in one click, with no description prompt orgist_idquestion.
Offline Zip / Package list
| command | description |
|---|---|
| SyncSettingsReborn: Backup to Zip | Pack Packages/User into a portable zip (no network required). |
| SyncSettingsReborn: Restore from Zip | Restore Packages/User from a zip archive. |
| SyncSettingsReborn: Backup Package List | Export only the installed-package list (installed_packages). |
Sync Online (Dropbox / Google Drive / OneDrive)
| command | description |
|---|---|
| SyncSettingsReborn: Sync Online - Define Folder | Choose a cloud-synced folder to use as the sync location. |
| SyncSettingsReborn: Sync Online - Push | Push a settings zip into that folder. |
| SyncSettingsReborn: Sync Online - Pull | Pull and restore a settings zip from that folder. |
Utilities
| command | description |
|---|---|
| SyncSettingsReborn: Show Logs | Open the SyncSettingsReborn log file for troubleshooting. |
| SyncSettingsReborn: Edit User Settings | Open the plugin's user settings file. |
Contributors
Thank you for contribute to this project:
![]() Ferron H 💻 |
tomahl 💻 |
![]() Johannes Weber 💻 |
![]() William Myers 💻 |
Terminal 💻 |
![]() mariohuq 💻 |
Issues
If you are experimenting an error, or an unusual behavior. Please let me know, creating a new issue appending the logs provided by the SyncSettingsReborn: Show logs command.
Development
You are welcome to contribute to this project, whenever you want.
The package has no runtime dependencies — all HTTP traffic uses the Python standard library. Development uses the repository's local virtualenv (Python 3.14):
$ python3.14 -m venv .venv
$ .venv/bin/python -m pip install -r requirements-dev.txt
Run tests
$ .venv/bin/python -m pytest tests/ -q
$ .venv/bin/python -m flake8 sync_settings_reborn tests
License
SyncSettingsReborn is licensed under the MIT license along with all source code.
Copyright (c) since 2015, Marcelo Fuentes <marceloe.fuentes@gmail.com>.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



