A lightweight tool that helps backup dotfiles and automatically push to a remote github repository.
- Backs up dotfiles and configuration directories.
- Secure GitHub push with token management.
- Autopush and backup feature that runs hourly.
- Preserve symlinks and file metadata.
Install from AUR
yay -S dotpushManual Installation:
- Clone the repository.
git clone https://github.com/woterr/dotpush.git
cd dotpush- Build the package:
makepkg -simakepkgreads your PKGBUILD, fetches the release tarball (from GitHub), checks SHA256, builds the wheel, installs everything including systemd service/timer files.-sensures dependencies are installed.-iinstalls the package after building.
- Verify installation:
dotpush --help- Initialize DotPush.
dotpush init(Run dotpush init github for GitHub integration)
- Check
config.iniand add paths as per requirement.
nano ~/.config/dotpush/config.iniOr you can add/remove paths using:
dotpush add <path/s>dotpush remove <path/s>To list all paths being tracked:
dotpush list paths- Backup your DotFiles.
dotpush backup- Manually push your DotFiles.
dotpush pushNote
The automated dotpush backup and dotpush push can be enabled by running dotpush backup and push.
- Automate DotPush
dotpush schedule --interval 30m
Allowed intervals:
10m 2h 1d 45s
- Troubleshooting
If you have to reinitialize DotPush for your backup directory:
dotpush init --forceAnd for GitHub:
dotpush init github --forceFeel free to open issues or PRs. If you're unsure, just fork and experiment. Read Developer Environment Wiki to get started.
This project is licensed under the MIT License. Read LICENSE for full license text.