Skip to content
/ dotful Public

πŸ“‹ Dotfiles manager written in POSIX shell

License

Notifications You must be signed in to change notification settings

pocco81/dotful

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‹ Dotful

Dotfiles manager written in POSIX shell

Stars Issues Repo Size

Β 

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.

Usage

# 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.

Β 

Bootstrapping

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

Β 

Development and Testing

Feel free to git clone https://github.com/pocco81/dotful.git. There is a makefile that provides the following targets:

  1. install: installs dotful under $(BIN).
  2. uninstall: removes $(BIN)/dotful.
  3. playground: creates a safe testing environment inside of $(PL) and provides instructions on how to use dotful within it.

Default parameters:

  • BIN = /usr/local/bin
  • PL = /tmp/_home

About

πŸ“‹ Dotfiles manager written in POSIX shell

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published