- Prerequisites
- Installation
- Postinstall
- What's inside init.vim?
- Highlights
- Git config
- Iosevka
- Special thanks
- License
Make sure the following requirements are installed:
Expand
Install Homebrew if you haven't.
You can either install git via Xcode Command Line Tools or by running git --version
from your terminal.
The Z shell, is an extended version of the Bourne Shell (sh), with plenty of new features, and support for plugins and themes. Oh My Zsh is a delightful community-driven framework for managing your zsh configuration.
This project use purer as the prompt theme for zsh: npm install --global purer-prompt
RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems. Install RVM: https://rvm.io.
Node Version Manager - Simple bash script to manage multiple active node.js versions. To install nvm: https://github.com/creationix/nvm.
Neovim (nvim) is a forked version of Vim and arguable to be a lot faster. Follow this guide to build nvim from source and this guide to install vim-plug as the main nvim plugin manager.
Tmux is the terminal multiplexer I can't live without.
Clone this project at $HOME
:
$ git clone git@github.com:huyvohcmc/dotfiles.git
$ cd dotfiles
Use Homebrew to install some necessary packages defined in Brewfile
:
$ brew bundle
Create a backup of your existing dotfiles, remove them in $HOME
and install the new ones using stow:
$ make stow
To remove dotfiles:
$ make unstow
Open nvim and install all plugins: :PlugInstall
. You should also run :checkhealth
to check your nvim condition.
Install Tmux plugin manager and press prefix
+ I
inside a tmux session to fetch the plugins listed in .tmux.conf
.
Visit the wiki for more details.
The Brewfile
contains some interesting CLI tools for better development like
bat
, an alternative ofcat
htop
, an interactive process viewer for Unix systemsnnn
, a very fast terminal file managerripgrep
, a line-oriented search toolstow
, a symlink farm managerthe_silver_searcher
, a code searching tool (used in vim)fzf
, command-line fuzzy findertig
, text-mode interface for gituniversal-ctags
, a programming tool to generate tag files
To prevent people from accidentally committing under your name:
# .gitconfig
[user]
# set in ~/.gitconfig_local
[include]
path = ~/.gitconfig_local
Where ~/.gitconfig_local
is simply:
[user]
name = <your_name>
email = <your_email>
I also use a .gitmessage
template for co-authored commits on GitHub:
# ~/.gitmessage
Co-authored-by: Linus Torvalds <torvalds@transmeta.com>
Iosevka is one of the best font for programmers, it looks so good to the eye and supports ligatures. It also has many prebuilt variants, and if you build yourself you can customize the look of many different characters. Here is how I built an Iosevka version for my own:
- Clone the repository
- Ensure
nodejs
>= 8.4,ttfautohint
andotfcc
are installed - Install necessary libs by
npm install
npm run build -- contents::iosevka
npm run build -- contents::iosevka-term
(for term version)
Visit Iosevka's main repo for more build instructions.
This repository is available under the MIT license. Feel free to fork and modify the dotfiles as you please.