An Oh My Zsh plugin for GPG-encrypted, Git-synchronized Zsh history across multiple machines.
history-sync is an Oh My Zsh plugin that synchronizes your Zsh shell history across multiple machines using Git and GPG encryption. It solves the problem of fragmented command history by securely backing up and sharing your history file via a remote Git repository, ensuring you have access to your complete command line history regardless of which machine you're using.
Zsh users, particularly developers and system administrators who work across multiple terminals or machines and want a secure, synchronized command history.
Developers choose history-sync because it combines the reliability of Git with the security of GPG encryption, offering a simple, self-hosted solution for history synchronization without relying on cloud services or compromising privacy.
An oh-my-zsh plugin for GPG encrypted internet synchronised Zsh history, with Git.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Encrypts the Zsh history file with GPG before syncing, ensuring only authorized recipients can decrypt it, as stated in the README's key features for privacy.
Leverages Git to push and pull history from remote repositories like GitHub, providing reliable version control and cross-machine sync without reinventing the wheel.
Offers intuitive commands like zhpl, zhps, and zhsync for pulling, pushing, and syncing history, making it user-friendly once configured.
Allows customization via environment variables for file paths, Git remotes, and GPG recipients, as detailed in the README for flexibility.
Requires setting up a Git repository, configuring GPG keys with multiple recipients, and managing environment variables, which the README acknowledges needs external GPG documentation.
Only works with Zsh and the Oh My Zsh framework, excluding users of other shells or Zsh configurations without this plugin ecosystem.
History synchronization is not automatic; users must run commands manually, which can lead to outdated history if forgotten, as no auto-sync feature is mentioned.