Skip to main content

Sync your dotfiles securely to an encrypted Git

Project description

Neutron Sync

A command line utility to sync your personal dotfiles to an encrypted Github. This allows you to share your personal secrets across multiple machines and keep them in sync.

Sponsor This Project

Installation

pipx install neutron-sync

See pipx

Additional Docs

Primary Setup

Requirements

Setup

git clone git@github.com:{github-user}/{repo-name}.git
cd {repo-name}
git-crypt init
nsync init `pwd`
git-crypt export-key ~/.dotfiles.key
git-crypt unlock ~/.dotfiles.key
# you may get an error if you have no files initially which is OK

Add files

adds to encrypted repo and creates link at original location

# link a directory
nsync link ~/.ssh

# link a file
nsync link ~/.tmux.conf

Commit and Push

when files are changed

nsync save

Pull Changes from Remote

nsync pull

Setup on Another Machine

Transfer Keys to Secondary

While files are synced via the git repository, you need to transfer keys to the secondary machine so you can decrypt the repository. By default, it will transfer you encryption key and ssh key.

On Primary:

nsync start-transfer
# follow prompts

On Secondary:

nsync complete-transfer
# follow prompts
mv {output-dir}/.dotfiles.key ~
mkdir .ssh
chmod 700 .ssh
mv {output-dir}/id_rsa ~/.ssh
mv {output-dir}/id_rsa.pub ~/.ssh

Setup - Secondary

git clone git@github.com:{github-user}/{repo-name}.git
cd {repo-name}
nsync init `pwd`
nsync pull

Transfer Server

The transfer server can be used to help assist in setting up a new machine. After initial setup, all transactions are stored in your git repository. All files stored on the transfer server are encrypted on device before being sent and only stored temporarily.

File transfers default to using https://www.neutronsync.com/. You can host your own server by running:

nsync server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neutron-sync-1.0.0.tar.gz (9.2 kB view hashes)

Uploaded Source

Built Distribution

neutron_sync-1.0.0-py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page