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/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...
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
:
[![dotbackup-managed](https://img.shields.io/badge/dotbackup-managed-blue)](https://github.com/jaxvanyang/dotbackup)