Awesome
<h3 align="center"> denisidoro/dotfiles <a alt="CI status" href="https://github.com/denisidoro/dotfiles/actions"><img src="https://github.com/denisidoro/dotfiles/workflows/Tests/badge.svg" /></a> <a alt="GitHub release" href="https://github.com/denisidoro/dotfiles/releases"><img src="https://img.shields.io/github/v/release/denisidoro/dotfiles?include_prereleases" /></a> </h3> <p align="center"> <img src="https://user-images.githubusercontent.com/3226564/70171435-78334280-16ad-11ea-8e2d-3388b2fb5085.gif" alt="Demo"> <br> <sub>Awesome personal dotfiles</sub> </p> <p align="center"> <a href="#full-installation">Installation</a> <a href="shell">Shell</a> <a href="scripts">Scripts</a> <a href="git/config">Git</a> <a href="docs">Docs</a> </p>Full installation
# with homebrew or linuxbrew
brew install denisidoro/tools/dotfiles
dot self install
# with curl
bash <(curl -s https://raw.githubusercontent.com/denisidoro/dotfiles/master/scripts/self/install)
# with wget
bash <(wget -qO- https://raw.githubusercontent.com/denisidoro/dotfiles/master/scripts/self/install)
# with git
export DOTFILES="${HOME}/dotfiles"
git clone https://github.com/denisidoro/dotfiles "$DOTFILES"
"${DOTFILES}/bin/dot" self install
Using in shell scripts
dot::clone() {
git clone https://github.com/denisidoro/dotfiles "$DOTFILES"
}
dot::clone_if_necessary() {
[ -n "${DOTFILES:-}" ] && [ -x "${DOTFILES}/bin/dot" ] && return
export DOTFILES="${HOME}/dotfiles"
$(dot::clone >/dev/null || true)
}
dot::source() {
dot::clone_if_necessary
source "${DOTFILES}/scripts/core/main.sh"
}
dot::source
Calling scripts
There's a single entry point for most scripts, which is the dot
command:
dot <ctx> <cmd> [<args>...] # example: dot rice pipes
Documentation
Some scripts are documented in /docs. For all other scripts, run:
dot <ctx> <cmd> --help # example: dot rice pipes --help
Shell startup performance
$ dot shell zsh benchmark
Benchmark #1: /usr/bin/time /bin/zsh -i -c exit
Time (mean ± σ): 35.6 ms ± 3.0 ms [User: 14.0 ms, System: 16.0 ms]
Range (min … max): 32.7 ms … 48.8 ms 67 runs
Template
In order to setup your own dotfiles, I recommend using dotly or Sloth, which are frameworks inpired by this repository.