Skip to main content

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

Metadata

Release files for neutron-sync 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neutron-sync 1.0.0
File Size Uploaded
neutron-sync-1.0.0.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neutron-sync 1.0.0
File Interpreter ABI Platform
neutron_sync-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.9 kB

Release files / neutron-sync-1.0.0.tar.gz

Download URL neutron-sync-1.0.0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8f24a04436238f991e945d028fcbeb8d4fa617c5905df4b4ebadd2f4cb6c6510
BLAKE2b-256 checksum
How to use checksums
3fba8287384c3f124033c6dca40cf5394611a8dbf867742a1f3d4d2b662c06dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.4.9 CPython/3.10.6

Release files / neutron_sync-1.0.0-py3-none-any.whl

Download URL neutron_sync-1.0.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50c0b69d0429631413be365a323df1d2cbfe39858cf86ca700c89286ed80e6d7
BLAKE2b-256 checksum
How to use checksums
0f72d2d7cd30cdcd94027dd7d7e94b3ba3e2349f4e192140c09e6af805f96cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.4.9 CPython/3.10.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page