Skip to content

Latest commit

 

History

History
312 lines (289 loc) · 16.8 KB

README.md

File metadata and controls

312 lines (289 loc) · 16.8 KB

dotfiles

tested on macOS, Ubuntu, and Redhat.

Get this repository

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

Prerequisites

The 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)

Environement Variables

  • 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 [...]

dots command

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

One-liner

  • 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
  • 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
  • Update dotfiles only: dots update --yes configs bins

List

$ cd ~/dotfiles
$ ./bin/dots list

Install

$ 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

Remove

$ 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

Update

$ 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

Change-shell

$ cd ~/dotfiles
$ ./bin/dots change-shell

Setup macOS development environment with easy. Mostly copied from here.

$ cd ~/dotfiles
$ make initMac