Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dfrankland/hyper-sync-settings

🔃 Sync Hyper.app settings with Github.
https://github.com/dfrankland/hyper-sync-settings

Last synced: 3 months ago
JSON representation

🔃 Sync Hyper.app settings with Github.

Awesome Lists containing this project

README

        

# Hyper Sync Settings

> Sync Hyper settings with Github.

## Installation

1. Open your Hyper settings (i.e., `.hyper.js`)

2. Add `hyper-sync-settings` to `plugins` section

```js
// Example
module.exports = {
...,
plugins: [
'hyper-sync-settings'
],
...
}
```

3. Save and restart Hyper!

## Setup

1. Create a [new personal access token][1] which has the `gist` scope. Save
your token to `personalAccessToken` inside
`~/.hyper_plugins/.hyper-sync-settings.json`. Alternatively, set the
`HYPER_SYNC_SETTINGS_PERSONAL_ACCESS_TOKEN` environmental variable using
this token.

2. Create a [new gist][2] and save it. Save your gist id
(last part of the url after the username) to `gistId` inside
`~/.hyper_plugins/.hyper-sync-settings.json`. Alternatively, set the
`HYPER_SYNC_SETTINGS_GIST_ID` environmental variable using this id.

3. Restart Hyper.

**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**.

## How to use

![alt demo][3]

Use the commands below in the menu:

1. `Plugins > Sync Settings > Check for Updates`

Checks Github to see if there are any updates available for your settings.

2. `Plugins > Sync Settings > Backup Settings`

Copies your `~/.hyper.js` file to your local repository and pushes it to
Github.

3. `Plugins > Sync Settings > Restore Settings`

Fast forwards local repo with all new commits from Github and copies the new
settings to your `~/.hyper.js` file.

4. `Plugins > Sync Settings > Open >`

* `Gist`: Opens the link to the configured Gist.

* `Repo`: Opens the local repo that is cloned from the Gist.

* `Configuration`: Opens the
`~/.hyper_plugins/.hyper-sync-settings.json` config file.

## Configuration
Add `syncSettings` in your `.hyper.js` config. The configuration below shows all
existing configuration values in their default states.

```js
module.exports = {
config: {
// other configs...
syncSettings: {
quiet: false,
accelerators: {
checkForUpdates: 'CmdOrCtrl+8'
}
},
},
// ...
}
```

#### `config.syncSettings.quiet`
* Type: boolean
* Default: false

Mute the notification saying "Your settings are up to date". This will not hide
any other notifications.

#### `config.syncSettings.accelerators`
* Type: object
* Default: {}

Add configurable keyboard shortcuts to each of the menu options. The value of
each of the properties should be a valid [Electron Accelerator][4]. The available
options are:

* `checkForUpdates`
* `backupSettings`
* `restoreSettings`
* `openGist`
* `openRepo`
* `openConfiguration`

## Contribution

Please help improve this package! There's lots of room for stability and new
features to be made, so I would love if you could help improve it :)

## Credit

Credit where credit's due; the idea of this comes directly from
[`atom-sync-settings`][5].

## Contributors

Thanks go out to [@rfgamaral](https://github.com/rfgamaral) for all the help
getting this working on Hyper 2.0 and fixing stuff on Windows!

[1]: https://github.com/settings/tokens/new
[2]: https://gist.github.com/
[3]: http://i.giphy.com/9CNA0ceu5iuoU.gif
[4]: https://github.com/electron/electron/blob/master/docs/api/accelerator.md
[5]: https://github.com/atom-community/sync-settings