A dotfile manager written in C++.
Warning: Use at your own risk. I will not be held responsible if you break your setup.
The code is not optimal. You can contribute by improving it.
- Initialize:
home_sweet_home initThis will set the source directory to .local/share/home_sweet_home and target directory to ~
- Add a file:
home_sweet_home add ~/.bashrcThis will copy ~/.bashrc to bashrc##hidden in the source directory.
- Edit:
home_sweet_home edit ~/.bashrcThis will edit the copy stored in source directory and not the actual file.
- Apply when ready:
home_sweet_home apply ~/.bashrcThis will copy the updated file to the target directory.
- (Optional) Add a template
home_sweet_home add ~/test -tThis will add the file test as a template with .tmpl extension.
home_seet_home edit ~/testPut "Hello I am {{username}}" in the file and save.
home_sweet_home apply ~/testNow ~/test contains "Hello I am <your username here>".
To see the available data run
home_sweet_home dataThe templating uses Inja syntax.
- Forget a managed file:
home_sweet_home forget ~/.bashrc # Add -f flag to not get promptedBy default, this will only delete the managed copy in source directory and not the one in target directory. Add the "-r" flag to also remove the one in target directory.
Coming soon.