Skip to content

yous/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Build Status

@yous' dotfiles.

Table of Contents

Requirements

Installation

Clone this repository:

git clone https://github.com/yous/dotfiles.git
cd dotfiles

For available install options:

./install.sh
Command option Description
link Install symbolic links
asdf Install asdf
brew Install Homebrew on macOS (or Linux)
chruby Install chruby
formulae Install Homebrew formulae using Brewfile
mise Install mise
n Install n
pwndbg Install pwndbg
pyenv Install pyenv with pyenv-virtualenv
rbenv Install rbenv
ruby-install Install ruby-install
rustup Install rustup
rvm Install RVM
weechat Install WeeChat configuration

In Windows, use install.bat. It links files into the user's home directory.

Git

Set user-specific configurations on ~/.gitconfig.user:

[user]
	name = Your Name
	email = [email protected]

If you are using a public PGP key:

[user]
	signingkey = YOUR KEY

You can also sign your each commit automatically:

[commit]
	gpgsign = true

For more information about signing commits, see A Git Horror Story: Repository Integrity With Signed Commits.

If you want to use Gmail for git send-email,

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpServerPort = 587
	smtpUser = [email protected]

For more information, see the documentation for git-send-email.

Set local-specific configurations on ~/.gitconfig.local:

[merge]
	conflictStyle = zdiff3
[includeIf "gitdir:~/to/group/"]
	path = /path/to/foo.inc

For more information, see conditional includes section in the git-config documentation.

If you want to use latest release of Git for Ubuntu:

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update

Visit the PPA of Git for Ubuntu for more information.

Homebrew

If you want to install Homebrew or Homebrew on Linux,

./install.sh brew

Then install Homebrew formulae with:

./install.sh formulae

On macOS prior to Mojave, install Rust using rustup, and then install several utilities using cargo:

cargo install bat bottom fd-find ripgrep

Version Manager

asdf

If you want to install asdf,

./install.sh asdf

Then install Node.js, Python, Ruby with:

asdf plugin add nodejs
asdf install nodejs latest:"$(asdf nodejs resolve lts)"
asdf plugin add python
asdf install python latest
asdf plugin add ruby
asdf install ruby latest

Then set global defaults:

asdf global nodejs latest:"$(asdf nodejs resolve lts)"
asdf global python latest
asdf global ruby latest

mise

If you want to install mise,

./install.sh mise

Then install Node.js, Python, Ruby with:

mise install node@lts
mise install python
mise install ruby

Then set global defaults:

mise use --global node@lts
mise use --global python@latest
mise use --global ruby@latest

Ruby

chruby

If you want to install chruby, if you're on macOS,

brew install ruby-install
brew install chruby

Otherwise, install ruby-install first, if you're on Arch Linux,

yaourt -S ruby-install

Otherwise,

./install.sh ruby-install

Then install chruby,

./install.sh chruby

RVM

If you want to install RVM,

./install.sh rvm

Update RVM with:

rvm get stable

rbenv

If you want to install rbenv,

./install.sh rbenv

Rust

If you want to install rustup,

./install.sh rustup

Python

If you want to install pyenv and pyenv-virtualenv,

./install.sh pyenv

Node.js

If you want to install n,

./install.sh n

Then install Node.js with:

n lts

Zsh

To use Zsh as default shell,

chsh -s /bin/zsh

If you use custom Zsh like compiled one by Homebrew, add /usr/local/bin/zsh to /etc/shells and

chsh -s /usr/local/bin/zsh

To update Zsh plugins:

zinit update --all

To update Zinit itself:

zinit self-update

To make RVM works with Vim on OS X Yosemite or earlier, move /etc/zshenv to /etc/zshrc as Tim Pope mentioned.

sudo mv /etc/zshenv /etc/zshrc

Vim

To install Vim plugins,

:PlugInstall

You should install Exuberant Ctags to use vim-gutentags. You should install Node.js to use coc.nvim.

To update Vim plugins:

:PlugUpdate

To update vim-plug:

:PlugUpgrade

For additional syntax checkers for coc.nvim, ALE, or Syntastic:

  • C, C++
    • clang-check: brew install llvm
    • clang-tidy: brew install llvm
    • cppcheck: brew install cppcheck
  • CSS
    • stylelint: npm install -g stylelint stylelint-config-standard
  • JavaScript
    • ESLint: npm install -g eslint
  • JSON
    • JSONLint: npm install -g jsonlint
  • Python
    • flake8: pip install flake8
    • jedi: pip install jedi
  • Ruby
    • RuboCop: gem install rubocop
    • Solargraph: gem install solargraph
  • SASS, SCSS
    • stylelint: npm install -g stylelint stylelint-config-sass-guidelines

Neovim

To use Python 2 or 3 via pyenv in Neovim,

pyenv install 2.7.18
pyenv virtualenv 2.7.18 neovim2
pyenv activate neovim2
pip install pynvim

pyenv install 3.8.2
pyenv virtualenv 3.8.2 neovim3
pyenv activate neovim3
pip install pynvim

To use Ruby in Neovim,

gem install neovim

To use Node.js in Neovim,

npm install -g neovim

WeeChat

To install WeeChat configuration,

./install.sh weechat

Then install scripts:

/script install autosort.py buffers.pl colorize_nicks.py iset.pl

To update WeeChat scripts:

/script update
/script upgrade

Tools

pwndbg

If you want to install pwndbg,

./install.sh pwndbg

IntelliJ, Android Studio

To use Tomorrow Theme:

  1. Download JetBrains/settings.jar from chriskempson/tomorrow-theme.
  2. Open File > Import Settings… in IntelliJ or Android Studio.
  3. Select downloaded settings.jar.
  4. Open Settings > Editor > Colors Scheme.
  5. Select one of Tomorrow Theme.

iTerm2

To use Tomorrow Theme:

  1. Download schemes/Tomorrow*.itermcolors from mbadolato/iTerm2-Color-Schemes.
  2. Open Preferences… > Profiles > Colors.
  3. Click 'Load Presets…' and select 'Import…'.
  4. Select downloaded Tomorrow*.itermcolors.
  5. Click 'Load Presets…' again and select one of Tomorrow Theme.

License

Copyright © Chayoung You. See LICENSE.txt for details.