Skip to content
Synchronize all your settings and packages across atom instances
Branch: master
Clone or download
Latest commit 49bd959 Mar 27, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib add spec checking restore of keys which contains dots (#424) Mar 24, 2018
.travis.yml check with Atom beta too (#406) Feb 21, 2018 update changelog Mar 27, 2018 updated Jul 15, 2014 Utilize GIST_ID environment variable for bootstrapping a fresh install ( Feb 21, 2018
coffeelint.json 👕 Added linter logic Jun 21, 2015

Sync Settings for Atom

Join the chat at Build Status

Synchronize settings, keymaps, user styles, init script, snippets and installed packages across Atom instances.


  • Sync Atom's and package settings
  • Sync installed packages
  • Sync user keymaps
  • Sync user styles
  • Sync user init script
  • Sync snippets
  • Sync user defined text files


It currently does not support automatic backup - it must be done manually. Only the restore is being triggered automatically.


$ apm install sync-settings or using the Install packages pane from Atom Settings.


  1. Open Sync Settings configuration in Atom Settings.
  2. Create a new personal access token which has the gist scope and be sure to activate permissions: Gist -> create gists.
  3. Copy the access token to Sync Settings configuration or set it as an environmental variable GITHUB_TOKEN.
  4. Create a new gist:
  • The description can be left empty. It will be set when invoking the backup command the first time.
  • Use packages.json as the filename.
  • Put some arbitrary non-empty content into the file. It will be overwritten by the first invocation of the backup command
  • Save the gist.
  1. Copy the gist id (last part of url after the username) to Sync Settings configuration or set it as an environmental variable GIST_ID.

Disclaimer: GitHub Gists are by default public. If you don't want other people to easily find your gist (i.e. if you use certain packages, storing auth-tokens, a malicious party could abuse them), you should make sure to create a secret gist.

Alternative Sync Settings configuration using Atom's config.cson

  1. Click on Menu "Open Your Config" to edit Atom's config.cson
  2. Use these keys:
    gistId: "b3025...88c41c"
    personalAccessToken: "6a10cc207b....7a67e871"

Cloning a backup to a fresh Atom install

  1. Install the package from the command line: apm install sync-settings
  2. Launch Atom passing in GITHUB_TOKEN and GIST_ID. For example:
GITHUB_TOKEN=6a10cc207b....7a67e871 GIST_ID=b3025...88c41c atom
  1. You will still need to make sure you add your gist id and github token to the Sync Settings configuration in Atom Settings OR set them as environment variables in your shell configuration.


Open the Atom Command Palette where you can search for the following list of commands.

Backup or restore all settings from the Packages menu or use one of the following commands:

  • sync-settings:backup
  • sync-settings:restore

View your online backup using the following command:

  • sync-settings:view-backup

Check the latest backup is applied:

  • sync-settings:check-backup

You can also fork existing settings from a different GitHub user using the following command:

  • sync-settings:fork
  • In the following input field enter the Gist ID to fork

Running the tests

  1. Create a new personal access token which has the gist scope and will be used for testing purposes.
  2. Export it with export GITHUB_TOKEN=YOUR_TOKEN
  3. Run apm test


If you're going to submit a pull request, please try to follow the official contribution guidelines of Atom.

  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Ensure tests are passing. See running-the-tests.
  4. Commit your changes (git commit -am 'Add some feature').
  5. Push to the branch (git push origin my-new-feature).
  6. Create new Pull Request.

See all contributors.

You can’t perform that action at this time.