Skip to content
This repository was archived by the owner on Dec 23, 2025. It is now read-only.

jaxvanyang/dotbackup

Repository files navigation

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

About

YAML config based backup utility. This project is deprecated now, please use its successor at https://github.com/jaxvanyang/dotbackup.rs

Topics

Resources

License

Stars

Watchers

Forks

Languages