dotbackup
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:
[](https://github.com/jaxvanyang/dotbackup)
Metadata
Release files for dotbackup 1.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dotbackup-1.2.3.tar.gz | 14.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dotbackup-1.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.5 kB
Release files / dotbackup-1.2.3.tar.gz
| Download URL | dotbackup-1.2.3.tar.gz |
|---|---|
| Size | 14.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de5fe878680b6784a73078e9a81c610ea419ab121e17d87707fe27d91d8a7469
|
|
BLAKE2b-256 checksum How to use checksums |
5e868db99aa9df15c2a1933060ab188e7b54a1e0a1ad86e5f4cb04ee01616d94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 23, 2025.
Transparency logRelease files / dotbackup-1.2.3-py3-none-any.whl
| Download URL | dotbackup-1.2.3-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f93971c1ebe8b5bcd2be179c25ee12acbf8b96648c5863e15e67ce6a0ffcffc7
|
|
BLAKE2b-256 checksum How to use checksums |
c6c557f6ae01cbf00741762015d668b5b20badef2df3c30e3bbe1330a1c69393
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 23, 2025.
Transparency log