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

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 from one of these package managers:

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 equals to dotbackup.py backup and dotsetup equals 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).

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.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

dotbackup-1.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dotbackup-1.1.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for dotbackup-1.1.0.tar.gz
Algorithm Hash digest
SHA256 edc3b11fcd52327891c55c78837c4c13e051c6b26a8d9900dbe2c2ae738eb554
MD5 55738ca506fffc7294d65581405c7bbf
BLAKE2b-256 31efe75f9565afc8c981972a117a3e8dcc07ed834cbfc06d73f3648af728b689

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dotbackup-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for dotbackup-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39436f463aef22df2254964e522edcd2d7d6762cbdaec30dfec27ef1ff65768a
MD5 f62cfb53e5d18a6b67b47ef07c5cd6b1
BLAKE2b-256 85c5bfead9e6aa4ab395aaf203fe833041ea5d728da8f2ff75f683178b291a96

See more details on using hashes here.

Provenance

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