Skip to main content

YAML config based backup utility. Easy to use yet flexible. With a primary focus on dotfile backup & setup, but not limited to dotfiles.

Project description

dotbackup

PyPI - Python Version PyPI - Version PyPI - Downloads AUR version

Code style: black Lint: flake8 Imports: isort Test: pytest Codecov

[!NOTE] This project has been deprecated and replaced by its Rust implementation at dotbackup.rs. Sorry for the inconvenience.

Usually people maintain backup and setup scripts along with their dotfiles. But these scripts always contain a lot of repeat codes, and writing them is not fun! dotbackup and dotsetup are here to help.

With these two tools, you only need to write a simple configuration and they will know how to back up and set up your dotfiles. You can read dotbackup(1) and dotsetup(1) for details.

Highlights

  • Simple configuration.
  • Custom hooks.
  • Detailed logs.

Installation

You can install it from one of these package managers:

If you are using a Debian-based system, you can install the pre-built deb package from the latest release.

Installing from a package manager gives you the two commands - dotbackup and dotsetup, and the manpages. But you can also download this single script: dotbackup.py. In fact, dotbackup and dotsetup are just shortcut commands of dotbackup.py, which means that dotbackup is equivalent to dotbackup.py backup and dotsetup is equivalent to dotbackup.py setup.

Quick Start

Write a simple configuration and place it to ~/.config/dotbackup/dotbackup.yml:

backup_dir: ~/backup
apps:
  vim:
    files: [~/.vimrc]
  nvim:
    files:
      - ~/.config/nvim/init.lua
      - ~/.config/nvim/lua

Do backup:

$ dotbackup
INFO: doing vim backup...
INFO: copying ~/.vimrc to /home/user/backup/.vimrc...
INFO: doing nvim backup...
INFO: copying ~/.config/nvim/init.lua to /home/user/backup/.config/nvim/init.lua...
INFO: copying ~/.config/nvim/lua to /home/user/backup/.config/nvim/lua...

Do setup:

$ dotsetup
INFO: doing vim setup...
INFO: copying /home/user/backup/.vimrc to /home/user/.vimrc...
INFO: doing nvim setup...
INFO: copying /home/user/backup/.config/nvim/init.lua to /home/user/.config/nvim/init.lua...
INFO: copying /home/user/backup/.config/nvim/lua to /home/user/.config/nvim/lua...

Documentation

For more information, please read dotbackup(1) and dotsetup(1).

Show Your Support

If you're using dotbackup, consider adding the badge to your project's README.md:

[![dotbackup-managed](https://img.shields.io/badge/dotbackup-managed-blue)](https://github.com/jaxvanyang/dotbackup)

dotbackup-managed

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

dotbackup-1.2.3.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dotbackup-1.2.3-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file dotbackup-1.2.3.tar.gz.

File metadata

  • Download URL: dotbackup-1.2.3.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dotbackup-1.2.3.tar.gz
Algorithm Hash digest
SHA256 de5fe878680b6784a73078e9a81c610ea419ab121e17d87707fe27d91d8a7469
MD5 3075799fb3b1d938c9faa8e93ac1658a
BLAKE2b-256 5e868db99aa9df15c2a1933060ab188e7b54a1e0a1ad86e5f4cb04ee01616d94

See more details on using hashes here.

Provenance

The following attestation bundles were made for dotbackup-1.2.3.tar.gz:

Publisher: release.yml on jaxvanyang/dotbackup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dotbackup-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: dotbackup-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dotbackup-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f93971c1ebe8b5bcd2be179c25ee12acbf8b96648c5863e15e67ce6a0ffcffc7
MD5 47966027ddc0c2a01bc81530e94d8aeb
BLAKE2b-256 c6c557f6ae01cbf00741762015d668b5b20badef2df3c30e3bbe1330a1c69393

See more details on using hashes here.

Provenance

The following attestation bundles were made for dotbackup-1.2.3-py3-none-any.whl:

Publisher: release.yml on jaxvanyang/dotbackup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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