Organized dotfiles/configs into folders

Split set-from-git into 3 different files for each section and created a
script for common directory variables. Created separate folders for
PC/laptop configs.
This commit is contained in:
2018-02-15 23:21:41 -05:00
parent 933e2709ef
commit 5c5e010c53
19 changed files with 56 additions and 41 deletions

195
dotfiles/bashrc Normal file
View File

@@ -0,0 +1,195 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
# case "$TERM" in
# xterm|xterm-color|*-256color) color_prompt=yes;;
# esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
if [[ ${EUID} == 0 ]] ; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w \$\[\033[00m\] '
fi
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h \w \$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
. ~/linux-config/aliases/.bash_aliases
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
if [ -x /usr/bin/mint-fortune ]; then
/usr/bin/mint-fortune
fi
bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"
bind "set menu-complete-display-prefix on"
DIR_BASH_IT="/home/kevin/.bash_it"
if [ -d "/h/u3/c7/" ]; then
DIR_BASH_IT="/h/u3/c7/05/mokkar/.bash_it"
fi
# Path to the bash it configuration
export BASH_IT="$DIR_BASH_IT"
# Lock and Load a custom theme file
# location /.bash_it/themes/
export BASH_IT_THEME='nwinkler'
# (Advanced): Change this to the name of your remote repo if you
# cloned bash-it with a remote other than origin such as `bash-it`.
# export BASH_IT_REMOTE='bash-it'
# Your place for hosting Git repos. I use this for private repos.
export GIT_HOSTING='git@git.domain.com'
# Don't check mail when opening terminal.
unset MAILCHECK
# Change this to your console based IRC client of choice.
export IRC_CLIENT='irssi'
# Set this to the command you use for todo.txt-cli
export TODO="t"
# Set this to false to turn off version control status checking within the prompt for all themes
export SCM_CHECK=true
# Set Xterm/screen/Tmux title with only a short hostname.
# Uncomment this (or set SHORT_HOSTNAME to something else),
# Will otherwise fall back on $HOSTNAME.
export SHORT_HOSTNAME=$(hostname -s)
# Set Xterm/screen/Tmux title with only a short username.
# Uncomment this (or set SHORT_USER to something else),
# Will otherwise fall back on $USER.
export SHORT_USER=${USER:0:8}
# Set Xterm/screen/Tmux title with shortened command and directory.
# Uncomment this to set.
#export SHORT_TERM_LINE=true
# Set vcprompt executable path for scm advance info in prompt (demula theme)
# https://github.com/djl/vcprompt
#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt
# (Advanced): Uncomment this to make Bash-it reload itself automatically
# after enabling or disabling aliases, plugins, and completions.
# export BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE=1
# Load Bash It
source "$BASH_IT"/bash_it.sh
# export JAVA_HOME=/home/kevin/usr/java/jdk1.8.0_151/
# export PATH=$JAVA_HOME/bin:$PATH
# export IDEA_VM_OPTION="/home/kevin/usr/idea-IC-172.4343.14/bin/idea64.vmoptions"
# source /etc/environment
export QSYS_ROOTDIR="/home/kevin/usr/altera_lite/16.0/quartus/sopc_builder/bin"
# custom
export EDITOR='vim'
export VISUAL='vim'
# Both PC/Laptop {{{
if [ "$(whoami)" == "kevin" ]; then
xset r rate 200 90
fi
# NZXT
if [ "$(hostname)" == "NZXT" ]; then
xmodmap -e "clear Lock"
xmodmap -e "keycode 22 = Caps_Lock"
xmodmap -e "keycode 66 = BackSpace"
fi

5
dotfiles/gitconfig Normal file
View File

@@ -0,0 +1,5 @@
[user]
email = kevin.mok@live.ca
name = Kevin Mok
[color]
ui = auto

4
dotfiles/inputrc Normal file
View File

@@ -0,0 +1,4 @@
set completion-ignore-case on
set editing-mode vi
set keymap vi-command
set show-mode-in-prompt on

11
dotfiles/set-dotfiles.sh Executable file
View File

@@ -0,0 +1,11 @@
# Get directory variables from script.
. ../dirs.sh
# List of dotfiles I want to link to system.
dotfiles="bashrc gitconfig inputrc vimrc"
# cd $dot_dir
for dotfile in $dotfiles; do
# Remove system dotfile.
rm ~/."$dotfile"
# Link dotfile in repository to system dotfile.
ln -s "$dot_dir"/"$dotfile" ~/."$dotfile"
done

134
dotfiles/vimrc Normal file
View File

@@ -0,0 +1,134 @@
" set x=y {{{ "
set relativenumber
set background=dark
" set background=light
" set t_Co=256
filetype plugin on
syntax on
set tabstop=4
set tw=80
set linebreak
set colorcolumn=80
set shiftwidth=4
set autoindent
set mouse=c
set clipboard=unnamedplus
set foldmethod=marker
set linespace=5
" set listchars=tab:\|\
" set list
set cursorcolumn
set cursorline
set timeoutlen=300
" }}} set x=y "
autocmd VimResized * wincmd =
autocmd BufNewFile,BufRead .* set syntax=sh
" vim-plug {{{ "
" plug auto-install
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
Plug 'vim-scripts/L9'
" Plug 'vim-scripts/FuzzyFinder'
Plug 'whatyouhide/vim-gotham'
Plug 'flazz/vim-colorschemes'
Plug '907th/vim-auto-save'
let g:auto_save = 1
Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' }
Plug 'lervag/vimtex'
Plug 'Valloric/YouCompleteMe'
Plug 'Kevin-Mok/vim-snippets'
Plug 'SirVer/ultisnips'
Plug 'ervandew/supertab'
Plug 'scrooloose/nerdcommenter'
let g:NERDTrimTrailingWhitespace = 1
let g:NERDSpaceDelims = 1
Plug 'xolox/vim-misc'
Plug 'xolox/vim-colorscheme-switcher'
Plug 'tpope/vim-surround'
Plug 'easymotion/vim-easymotion'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'dkarter/bullets.vim'
" }}} vim-plug "
" YCM/UltiSnips {{{ "
" make YCM compatible with UltiSnips (using supertab)
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
" better key bindings for UltiSnipsExpandTrigger
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<C-tab>"
" }}} YCM/UltiSnips "
call plug#end()
colorscheme gotham256
" Mappings {{{ "
map <F3> :wa<CR>
map <F4> :wqa<CR>
map <F5> :qa!<CR>
map <F7> :AutoSaveToggle<CR>
map <F9> :LLPStartPreview<CR>
nnoremap <F10> :set paste<CR>p:set nopaste<CR>
map <S-Enter> O<ESC>
" For splits.
nnoremap <C-Down> <C-W><C-J>
nnoremap <C-Up> <C-W><C-K>
nnoremap <C-Right> <C-W><C-L>
nnoremap <C-Left> <C-W><C-H>
" Maximize height/width.
nnoremap <C-g> <C-W>_
nnoremap <C-w> <C-W>|
let mapleader="\<Space>"
nnoremap <leader>e o<ESC>
nnoremap <leader>ff :set foldmethod=marker<CR> zM
nnoremap <leader>h :set hlsearch! hlsearch?<CR>
nnoremap <leader>he :help
nnoremap <leader>vhe :vert help
nnoremap <leader>m :call cursor(0, len(getline('.'))/2)<CR>
nnoremap <leader>nw :set nowrap<CR>
nnoremap <leader>pli :PlugInstall<CR>
nnoremap <leader>plc :PlugClean<CR>
nnoremap <leader>plu :PlugUpdate<CR>
nnoremap <leader>r :.,.+s///g<left><left><left><left><left>
nnoremap <leader>rl :.s///g<left><left><left>
nnoremap <leader>rv :source $MYVIMRC<CR>
nnoremap <leader>R :%s///g<left><left><left>
nnoremap <leader>s :set syn=sh<CR>
nnoremap <leader>w Vgq
nnoremap <leader>z za
" }}} Mappings "
" Local Mappings {{{ "
let maplocalleader="-"
autocmd Filetype c inoremap <localleader>s struct pixel
autocmd Filetype tex inoremap <localleader>e \exists
autocmd Filetype tex inoremap <localleader>fa \forall
autocmd Filetype tex inoremap <localleader>g \geq
autocmd Filetype tex inoremap <localleader>i \in
autocmd Filetype tex inoremap <localleader>l \leq
autocmd Filetype tex inoremap <localleader>lr \Leftrightarrow
autocmd Filetype tex inoremap <localleader>n \neg
autocmd Filetype tex inoremap <localleader>N \mathbb{N}
autocmd Filetype tex inoremap <localleader>R \Rightarrow
autocmd Filetype tex inoremap <localleader>st such that
autocmd Filetype tex inoremap <localleader>t \times
autocmd Filetype tex inoremap <localleader>T $T$
autocmd Filetype tex inoremap <localleader>v \vee
autocmd Filetype tex inoremap <localleader>w \wedge
autocmd Filetype tex inoremap <localleader>x $x$-axis
autocmd Filetype tex inoremap <localleader>y $y$-axis
autocmd Filetype tex inoremap <localleader>Z \mathbb{Z}
" }}} Local Mappings "