Skip to content

sh0shin/dothier

Repository files navigation

dothier

Keep all your dotfiles in one or multiple git repositories and deploy them with one simple command.

GitHub Release GitHub License

Installation

The only supported package manger for now is homebrew.

brew tap sh0shin/tap
brew install sh0shin/tap/dothier

Or simply clone the git repository, it's just a bash script 8)

git clone https://github.com/sh0shin/dothier.git
install -m 0555 dothier/dothier /usr/local/bin

Usage

dothier v0.2.9 ( https://sh0shin.org/dothier )
Usage: dothier [-CLRghnqrstv] [-f file] [-d dir] [-H home] [-k file]
Options:
  -C      : Disable colorized output
  -H home : Home directory (default: $HOME)
  -L      : Enable dead symlink search mode
  -R      : Enable remove/delete mode
  -c conf : Use config file (default: $HOME/.config/dothier)
  -d dir  : Use directory for recursive mode (default: $HOME/.dotfiles)
  -f file : Use dothier file (default: .hier)
  -g      : Enable git pull
  -h      : Show this help
  -k file : Use git-crypt key file
  -n      : Dry-run
  -q      : Be quiet
  -r      : Enable recursive mode
  -s      : Short message mode
  -t      : Enable tmutil (macOS only)
  -u      : Set umask (default: 0022)
  -v      : Enable verbose mode

Dotfiles repository

mkdir ~/.dotfiles
cd ~/.dotfiles
git init
git remote add origin <repo.url>

# Move your dotfiles here
# .profile
# .vimrc
# ...

# Define your dotfiles in a .hier file

Deploy your dotfiles

dothier -f ~/.dotfiles/.hier

Or use the -r recursive option to deploy from ~/.dotfiles, all found .hier files will be used.

dothier -r