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:
195
dotfiles/bashrc
Normal file
195
dotfiles/bashrc
Normal 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
5
dotfiles/gitconfig
Normal file
@@ -0,0 +1,5 @@
|
||||
[user]
|
||||
email = kevin.mok@live.ca
|
||||
name = Kevin Mok
|
||||
[color]
|
||||
ui = auto
|
||||
4
dotfiles/inputrc
Normal file
4
dotfiles/inputrc
Normal 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
11
dotfiles/set-dotfiles.sh
Executable 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
134
dotfiles/vimrc
Normal 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 "
|
||||
Reference in New Issue
Block a user