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 init
This will set the source directory to .local/share/home_sweet_home
and target directory to ~
- Add a file:
home_sweet_home add ~/.bashrc
This will copy ~/.bashrc
to bashrc##hidden
in the source directory.
- Edit:
home_sweet_home edit ~/.bashrc
This will edit the copy stored in source directory and not the actual file.
- Apply when ready:
home_sweet_home apply ~/.bashrc
This will copy the updated file to the target directory.
- (Optional) Add a template
home_sweet_home add ~/test -t
This will add the file test
as a template with .tmpl
extension.
home_seet_home edit ~/test
Put "Hello I am {{username}}" in the file and save.
home_sweet_home apply ~/test
Now ~/test
contains "Hello I am <your username here>".
To see the available data run
home_sweet_home data
The templating uses Inja syntax.
- Forget a managed file:
home_sweet_home forget ~/.bashrc # Add -f flag to not get prompted
By 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.