Dotfiles are meant to be shared
Table of Contents
- What's inside init.vim?
- Git config
- Special thanks
Make sure the following requirements are installed:
Install Homebrew if you haven't.
You can either install git via Xcode Command Line Tools or by running
git --version from your terminal.
Zsh & Oh-My-Zsh
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.
Tmux is the terminal multiplexer I can't live without.
Clone this project at
$ git clone firstname.lastname@example.org:huyvohcmc/dotfiles.git $ cd dotfiles
Use Homebrew to install some necessary packages defined in
$ 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
I inside a tmux session to fetch the plugins listed in
What's inside init.vim?
Visit the wiki for more details.
Brewfile contains some interesting CLI tools for better development like
bat, an alternative of
htop, an interactive process viewer for Unix systems
nnn, a very fast terminal file manager
ripgrep, a line-oriented search tool
stow, a symlink farm manager
the_silver_searcher, a code searching tool (used in vim)
fzf, command-line fuzzy finder
tig, text-mode interface for git
universal-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
~/.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 <email@example.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
- Install necessary libs by
npm run build -- contents:iosevka --design:ligset-haskell
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.