From c39a995c1e0abb4b8bdc486ea865c5d342a7c578 Mon Sep 17 00:00:00 2001 From: James Fraser Date: Tue, 19 Apr 2016 21:03:55 +1000 Subject: [PATCH] updated README --- plugins/history-sync/README.md | 41 ++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/plugins/history-sync/README.md b/plugins/history-sync/README.md index f6a5b1855..62c5e825c 100644 --- a/plugins/history-sync/README.md +++ b/plugins/history-sync/README.md @@ -1,23 +1,30 @@ -## An oh-my-zsh plugin for gpg encrypted, internet synchronized zsh history using git +## An Oh My Zsh plugin for GPG encrypted, Internet synchronized Zsh history using Git
-That is, if you'd like an easy way to securely synchronise your zsh_history across many computers connected to the Internet, this plugin will help you. You could even automate it using something like cron for a daily or even hourly sync. +That is, if you'd like an easy way to securely synchronise your zsh_history across many computers connected to the Internet, this plugin will help you. ** Be creative with this - I dare you. ** + +### What tooling do I need? +##### 1. GnuPG +history-sync uses GPG to encrypt/decrypt your zsh_history. The [GnuPG documentation](https://www.gnupg.org/documentation/manuals.html) is very good. + +##### 2. Git +history-sync uses Git to push/pull your zsh_history to/from a remote repository.
### How do I use it? - -1. Create a git repo for housing your encrypted zsh_history file (local or remote) +1. Create a Git repo for housing your encrypted zsh_history file. This repo needs to be accessible from all client shells you'd like to synchronize - Mine is $HOME/.zsh_history_proj 2. Activate history-sync plugin in your .zshrc - - git clone git@github.com:wulfgarpro/history-sync.git $HOME/.oh-my-zsh/plugins/. -3. Export environment variables (or use defaults found in history-sync.plugin.zsh) + - `git clone git@github.com:wulfgarpro/history-sync.git $HOME/.oh-my-zsh/plugins/.` +3. Export environment variables (or use defaults found in the plugin file history-sync.plugin.zsh)
These are: - - ZSH_HISTORY_FILE - - ZSH_HISTORY_PROJ - - ZSH_HISTORY_FILE_ENC - - GIT_COMMIT_MSG -4. Ensure your gpg/pgp setup is complete and you have a public/private key pair -
i.e.: - - gpg --list-keys -5. Run zhpl alias to pull -6. Run zhps alias to push -7. Run zhsync to pull/push - + - ** ZSH_HISTORY_FILE **
+ Your zsh_history file location + - ** ZSH_HISTORY_PROJ **
+ Your Git project for housing your zsh_history file + - ** ZSH_HISTORY_FILE_ENC **
+ Your encrypted zsh_history file location + - ** GIT_COMMIT_MSG **
+ Your default message when pushing to $ZSH_HISTORY_PROJ +4. Ensure your GPG setup is complete and you have a public/private key pair for encrypting/decrypting: `man gpg` +5. Run `zhpl` to pull +6. Run `zhps -r 876T3F78 -r 998A637B -r ...` to encrypt and push +7. Run `zhsync` to pull/push