Configures a User LaunchAgent for macOS and Service Manager for Linux that synchronises the ~/.notable
folder to a Git repository.
You'll get a nice notification if you have a recent version of Node.js installed.
- A Git repository on GitHub, GitLab, or some Git server.
- Git installed on macOS (Installation options).
- Git SSH keys configured (GitHub Docs for SSH) using default
id_rsa
naming scheme. - [Optional] Node.js v12+ is required for macOS notification integration.
- A Git repository on GitHub, GitLab, or some Git server.
- Git installed (Installation options).
- Git SSH keys configured (GitHub Docs for SSH) using default
id_rsa
naming scheme.
Currently only macOS and Linux is supported. Pull Requests that add support for other platforms are welcome!
NOTE: This script assumes you are using the ~/.notable
directory for storing notes. After running the script use the Change Data Directory option in Notable to set your data directory to ~/.notable
.
Clone the repository, run the setup.sh
, and follow the prompts:
git clone https://github.com/evanshortiss/notable-git-sync-setup notable-sync
cd notable-sync
./setup.sh
git clone https://github.com/evanshortiss/notable-git-sync-setup notable-sync
cd notable-sync
sudo chmod +x ./setup.sh
# -E preserve environment (for git commands)
sudo -E ./setup.sh
The configuration for the service is defined in the plist.template.xml.
- Assumes a default
~/.ssh/id_rsa
SSH configuration for Git. - Logs are written to
/tmp/notable-sync.stdout
and/tmp/notable-sync.stderr
in macOS. sudo journalctl -u notable-sync
to see logs in Linux.- By default, notes are synchronised to the Git repository every 10 minutes.
- Fails on Git merge conflicts. Are your notes are not syncing? This might be why.