iTerm2 Profile Settings Sync
Feature Request
Summary
Automatic/integrated cloud based sync of iTerm2 profile settings. Similar to VS Code's settings like so:
Since most iTerm2 developers have a Github account, I believe that having that be the only integrated sync option (at least initially) should be sufficient.
Alternatives
This is currently possible by exporting the profile as a Json text file and leaving the onus on the user to save/sync it through some other mechanism.
Concerns
- Privacy: Github (i.e. Microsoft) has access to the user's iTerm2 settings. Not a concern because the data is not sensetive.
- Performance: Settings are small lightweight objects that do not change very frequently. Synching & pushing on settings changes should not be a concern from a network/cpu usage perspective.
- Memory: Not a concern because settings files are on the order of 10s of Kb.
-
Complexity:
- What if the settings change when the user's machine is offline? Need to cache locally and push when possible (either listening for network change events or attempting to do so periorically).
- Need to integrate with Github's OAuth flow: https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps.
- UX flow needs to be designed to implement this feature in a straightforward way.
- UI needs to be updated to view/configure user settings.
- Is this an instance of a more general problem?: Settings sync is a pretty general problem overall but I'd say no in this specific context.
Implementation
I'm open to helping implement this feature but before pursuing this effort, I wanted to:
- Confirm that this feature is not already under development?
- Discuss if the proposed idea would be accepted to the main branch if implemented correctly.