Skip to content

woterr/dotpush

Repository files navigation

DotPush

A lightweight tool that helps backup dotfiles and automatically push to a remote github repository.


Run Tests Run Linter and Formatter

AUR Version AUR License AUR Maintainer

Packaging status

Links

Quick start

Features

  • Backs up dotfiles and configuration directories.
  • Secure GitHub push with token management.
  • Autopush and backup feature that runs hourly.
  • Preserve symlinks and file metadata.

Installation

Install from AUR

yay -S dotpush

Manual Installation:

  1. Clone the repository.
git clone https://github.com/woterr/dotpush.git
cd dotpush
  1. Build the package:
makepkg -si
  • makepkg reads your PKGBUILD, fetches the release tarball (from GitHub), checks SHA256, builds the wheel, installs everything including systemd service/timer files.
  • -s ensures dependencies are installed.
  • -i installs the package after building.
  1. Verify installation:
dotpush --help

Usage

  1. Initialize DotPush.
dotpush init

(Run dotpush init github for GitHub integration)

  1. Check config.ini and add paths as per requirement.
nano ~/.config/dotpush/config.ini

Or you can add/remove paths using:

dotpush add <path/s>
dotpush remove <path/s>

To list all paths being tracked:

dotpush list paths
  1. Backup your DotFiles.
dotpush backup
  1. Manually push your DotFiles.
dotpush push

Note

The automated dotpush backup and dotpush push can be enabled by running dotpush backup and push.

  1. Automate DotPush
dotpush schedule --interval 30m

Allowed intervals:

10m 2h 1d 45s

  1. Troubleshooting

If you have to reinitialize DotPush for your backup directory:

dotpush init --force

And for GitHub:

dotpush init github --force

Contributing

Feel free to open issues or PRs. If you're unsure, just fork and experiment. Read Developer Environment Wiki to get started.

License

This project is licensed under the MIT License. Read LICENSE for full license text.