Skip to content

kianmeng/dotfiles

Repository files navigation

There is no place like $HOME

A collection of configuration files for the typical console programs bash, vim, screen, tmux, and misc.

Dotfiles management through Git following this blog post and HN post.

Installation

Install essential console tools:

sudo apt install git tmux curl vim autojump apt-file inotify-tools \
aria2 ripgrep pgcli fswatch fzf shellcheck hub hyperfine flatpak \
python-is-python3 gcc automake autoconf pipx gettext htop httpie \
nala

Only if Rust and Cargo are available:

cargo install hgrep

Install essential graphical tools:

sudo apt install gitk gedit chromium-chromedriver epiphany-browser \
chromium-browser gnome-shell-extensions \
gnome-browser-connector gnome-shell-extension-manager meld

Setup the alias:

alias hgit='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'

Clone the repository:

hgit clone --bare git@github.com:kianmeng/dotfiles.git $HOME/.cfg

Backup all your existing dotfiles, if any (not needed for fresh install):

mkdir -p .config-backup && \
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \
xargs -I{} mv {} .config-backup/{}

Pull all dotfiles:

hgit checkout

Reload Bash and install all the necessary packages:

source ~/.bashrc

To manage these dot files, just use the hgit alias which is a wrapper to git.

Vim's Key Bindings

  • <space>, leader key
  • jj, exit from insert mode into normal mode
  • <space>p, toggle between paste mode and normal mode

Tmux's Key Bindings

  • <alt><space>, prefix key alt + space
  • <alt>j, switch to left tab
  • <alt>k, switch to right tab
  • <alt>o, create new tab
  • <shift>pgup, scroll previous page

About

dotfiles for bash, tmux, vim, and etc.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published