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

Uploaded Source

Built Distribution

dotbackup-1.0.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dotbackup-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b7b23b612c0d07fe817817380c5a2f79602cfda8027c473684eb8f28a5b2fd56
MD5 966a10a7c7cdce27e9bd8756db3b0a92
BLAKE2b-256 472759ff8a95de8dea4904da325fa81be18e655e2831d5b7651793f28f89095c

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dotbackup-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 68cff522cfa4a7c12e2839ab9739774a7b8b51850fff8a72081f5e0660077398
MD5 28e25ff8ac454960410ede0551afc123
BLAKE2b-256 0b6266f63f05162cc359a66b3790c5348c499f76061b799e0d0264db14e873eb

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