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.
- Simple configuration.
- Custom hooks.
- Detailed logs.
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.
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/luaDo 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...For more information, please read dotbackup(1) and dotsetup(1).
If you're using dotbackup, consider adding the badge to your project's README.md:
[](https://github.com/jaxvanyang/dotbackup)