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 --help
But 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/dotful
Note: 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
: installsdotful
under$(BIN)
.uninstall
: removes$(BIN)/dotful
.playground
: creates a safe testing environment inside of$(PL)
and provides instructions on how to usedotful
within it.
Default parameters:
BIN
=/usr/local/bin
PL
=/tmp/_home