Skip to content

A zsh plugin that automatically detects changes to the .zshrc file and syncs it to the GitHub repository when zsh exits.

License

Notifications You must be signed in to change notification settings

Skylor-Tang/zshrc-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

zshrc-sync

A zsh plugin that automatically detects changes to the .zshrc file and syncs it to the GitHub repository when zsh exits.

Features

  • Check if the remote .zshrc file is different from the local one, and if so, pull the latest version from the remote repository and overwrite the local configuration.
  • Automatically detects changes to the .zshrc file and syncs it to the GitHub repository.
  • Automatically syncs the .zshrc file when zsh exits.
  • Backs up the current .zshrc file to $HOME/.zshrc-bak.
  • Uses a symbolic link to link the .zshrc file to the copy in the GitHub repository.

Installation

  1. Ensure that Git is installed.

  2. Set the following variables in your .zshrc file:

    • ZSHRC_REPO_URL: The URL of your GitHub repository.
    • ZSHRC_FILE_PATH: The full path to your .zshrc file.

    For example:

    export ZSHRC_REPO_URL='git@github.com:usename/myzshrc.git'
    export ZSHRC_FILE_PATH="$HOME/.zshrc"
  3. Install the plugin using zplug:

    zplug "Skylor-Tang/zshrc-sync", use:zshrc-sync.zsh, from:github, at:main
  4. Reload the zsh configuration file:

    source ~/.zshrc

Usage

The plugin will automatically detects changes to the .zshrc file and syncs it to the GitHub repository when zsh exits.

You can manually call the sync_zshrc() function to immediately sync the .zshrc file.

Notes

  • Ensure that the ZSHRC_REPO_URL and ZSHRC_FILE_PATH variables are set correctly before zplug tries to load the zshrc-sync plugin.
  • The plugin will create a Git repository in the $HOME/.zshrc-sync directory, so make sure this directory is writable.
  • The plugin will back up the current .zshrc file to $HOME/.zshrc-bak.

License

This project is licensed under the MIT License.

About

A zsh plugin that automatically detects changes to the .zshrc file and syncs it to the GitHub repository when zsh exits.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages