Dotfiles manager written in POSIX shell
Β
It is a single script that only depends on ls, ln, cp and mkdir, which are basic core utilities.
It manages dotfiles through profiles, which are directories that store the actual dotfiles. There is a local database (plain text file) that stores each entry's destination, alias and their parent profile.
# this command provides you with everything you need to know
$ dotful --helpBut the short TL;DR is:
$ dotful add my_file # adds 'my_file' to the default profile
$ dotful install # installs the entire profile
$ dotful status # checks the status of each file in the profile and their destinations
The tool may be configured through either environment variables or CLI options.
Β
The following one-liner will download dotful and install it under /usr/local/bin (requires sudo privileges):
sudo curl -L https://raw.githubusercontent.com/pocco81/dotful/main/dotful -o /usr/local/bin/dotful && sudo chmod +x /usr/local/bin/dotfulNote: to uninstall it just run
sudo rm /usr/local/bin/dotful
Β
Feel free to git clone https://github.com/pocco81/dotful.git. There is a makefile that provides the following targets:
install: installsdotfulunder$(BIN).uninstall: removes$(BIN)/dotful.playground: creates a safe testing environment inside of$(PL)and provides instructions on how to usedotfulwithin it.
Default parameters:
BIN=/usr/local/binPL=/tmp/_home