tested on macOS, Ubuntu, and Redhat.
# clone the repository
$ cd ~
$ git clone --recursive https://github.com/cih9088/dotfiles.git ~/dotfiles
# or pull in case you have cloned it already
$ cd ~/dotfiles
$ git pull
$ git submodule update --init --recursive
# make sure that you have following commands `make`, `git`, `sudo`
$ command -V make git sudo
# install them if not exist
# debian
$ apt update && apt install -y make git sudo
# redhat
$ dnf install -y make git sudoThe following list would be installed in your system. You need privilege (sudo).
No need if you have them on your system.
$ cd ~/dotfiles
$ ./bin/dots test-prerequisites # Verify which commands are installed
$ ./bin/dots install prerequisites # Install prerequisites (previlege is needed)GH_ACCESS: give maximum of 5,000 rate limits to github REST API
ex)GH_ACCESS=client_id:client_secret dots [...]PREFIX: change path to install locally (default:$HOME/.local)
ex)PREFIX=/path/to/install dots [...]
- systemwide: others could execute those commands (need privilege)
- locally: others could not (All of commands and libraries would be installed in
PREFIX(deafult:$HOME/.local) )
NOTE: systemwide install is preferred for macOS.
- Non-interactive install all listed in
config.yaml- default mode is local:
dots install --mode local --config config.yaml - default mode is system (prefer way for mac):
dots install --mode system --config config.yaml
- default mode is local:
- Non-interactive update all listed in
config.yaml- default mode is local:
dots update --mode local --config config.yaml - default mode is system (prefer way for mac):
dots update --mode system --config config.yaml
- default mode is local:
- Update dotfiles only:
dots update --yes configs bins
$ cd ~/dotfiles
$ ./bin/dots list$ cd ~/dotfiles
# Install zsh interactively with dependencies (to install it locally you must install dependencies as well)
$ ./bin/dots install zsh
# Install zsh interactively without dependencies
$ ./bin/dots install --skip-dependencies zsh
# Install the latest zsh non-interactively
$ ./bin/dots install --mode local --yes zsh
# Install zsh version of 5.9 non-interactively
$ ./bin/dots install --mode local --yes --version 5.9 --skip-dependencies zsh$ cd ~/dotfiles
# Remove zsh interactively (remove command implicitly applies `--skip-dependencies`)
$ ./bin/dots remove zsh
# Remove locally installed zsh non-interactively
$ ./bin/dots remove--mode local --yes zsh$ cd ~/dotfiles
# Update zsh interactively with dependencies (to install it locally you must install dependencies as well)
$ ./bin/dots update zsh
# Update zsh interactively without dependencies
$ ./bin/dots update --skip-dependencies zsh
# Update the latest zsh non-interactively
$ ./bin/dots update --mode local --yes zsh
# Update zsh version of 5.9 non-interactively
$ ./bin/dots update --mode local --yes --version 5.9 --skip-dependencies zsh$ cd ~/dotfiles
$ ./bin/dots change-shellSetup macOS development environment with easy. Mostly copied from here.
$ cd ~/dotfiles
$ make initMac