Skip to content

Instantly share code, notes, and snippets.

@lemos1235
Last active November 13, 2018 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lemos1235/ae566b58b89547ecaf8bcec1751c71a3 to your computer and use it in GitHub Desktop.
Save lemos1235/ae566b58b89547ecaf8bcec1751c71a3 to your computer and use it in GitHub Desktop.
linux configuration
#
# ~/.bashrc
#
[[ $- != *i* ]] && return
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi
colors() {
local fgc bgc vals seq0
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
# foreground colors
for fgc in {30..37}; do
# background colors
for bgc in {40..47}; do
fgc=${fgc#37} # white
bgc=${bgc#40} # black
vals="${fgc:+$fgc;}${bgc}"
vals=${vals%%;}
seq0="${vals:+\e[${vals}m}"
printf " %-9s" "${seq0:-(default)}"
printf " ${seq0}TEXT\e[m"
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
done
echo; echo
done
}
[[ -f ~/.extend.bashrc ]] && . ~/.extend.bashrc
[[ -f ~/.bashrc.aliases ]] && . ~/.bashrc.aliases
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
#
# ~/.bashrc.aliases
#
alias ls='ls --color=auto'
alias pacrepo='sudo reflector -l 20 -f 10 --save /etc/pacman.d/mirrorlist'
alias pacman='sudo pacman'
alias journalctl='sudo journalctl'
alias pacu='sudo pacman -Syu --noconfirm'
alias auru='yaourt -Syua --noconfirm'
alias systemctl='sudo systemctl'
alias se='ls /usr/bin | grep'
export QT_STYLE_OVERRIDE=gtk
export QT_SELECT=qt5
if [[ $LANG = '' ]]; then
export LANG=en_US.UTF-8
fi
#
# ~/.extend.bashrc
#
# Change the window title of X terminals
case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
;;
screen*)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
;;
esac
use_color=true
# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \
&& type -P dircolors >/dev/null \
&& match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;32m\][\[\033[01;35m\]\u\[\033[01;37m\] \w\[\033[01;32m\]]\$\[\033[00m\] '
else
PS1='\[\033[01;32m\][\u\[\033[01;37m\] \w\[\033[01;32m\]]\$\[\033[00m\] '
fi
alias ls='ls --color=auto'
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
else
if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors
PS1='\u@\h \W \$ '
else
PS1='\u@\h \w \$ '
fi
fi
unset use_color safe_term match_lhs sh
alias cp="cp -i" # confirm before overwriting something
alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB
alias np='nano -w PKGBUILD'
alias more=less
alias ll="ls -al"
xhost +local:root > /dev/null 2>&1
complete -cf sudo
# Bash won't get SIGWINCH if another process is in the foreground.
# Enable checkwinsize so that bash will check the terminal size when
# it regains control. #65623
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
shopt -s checkwinsize
shopt -s expand_aliases
export GEM_HOME=$(ruby -e 'print Gem.user_dir')
# export QT_SELECT=4
# Enable history appending instead of overwriting. #139609
shopt -s histappend
#
# # ex - archive extractor
# # usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# better yaourt colors
export YAOURT_COLORS="nb=1:pkg=1:ver=1;32:lver=1;45:installed=1;42:grp=1;34:od=1;41;5:votes=1;44:dsc=0:other=1;35"
# keyboard-setting
xmodmap ~/.Xmodmap
# powerline-daemon -q
# . /usr/lib/python3.6/site-packages/powerline/bindings/bash/powerline.sh
#!/bin/sh
#
# ~/.Xclients
#
# Executed by xdm/gdm/kdm at login
#
[[ -f ~/.extend.Xclients ]] && . ~/.extend.Xclients
/bin/bash --login -i ~/.xinitrc
!XTerm
XTerm.vt100.saveLines:1000000
XTerm.vt100.scrollBar:false
XTerm.vt100.loginShell:false
XTerm.vt100.faceName:Monaco:pixelsize=12
XTerm.vt100.faceNameDoublesize:Source Han Sans CN:pixelsize=17
XTerm.vt100.cjkWidth:false
XTerm.vt100.preeditType:Root
XTerm.vt100.inputMethod:ibus
XTerm.vt100.locale:true
XTerm.vt100.visualBell:false
URxvt.inputMethod: ibus
URxvt.preeditType: OverTheSpot
XTerm*background: #000000
XTerm*foreground: #DEDEDE
XTerm*cursorColor: yellow
*color0: Black
*color1: OrangeRed3
*color2: Green4
*color3: Yellow3
*color4: RoyalBlue3
*color5: Magenta3
*color6: Cyan3
*color7: AntiqueWhite
*color8: Grey15
*color9: OrangeRed
*color10: Green
*color11: Yellow
*color12: CornflowerBlue
*color13: Magenta
*color14: turquoise
*color15: White
!URxvt
URxvt*background: rgba:0E00/0E00/0E00/dddd
URxvt*foreground: #EEEEEE
URxvt*saveLines: 1000000
URxvt.depth: 22
URxvt.buffered: true
URxvt.transparent: true
URxvt.shading: 20
!Scroll
URxvt.scrollBar: false
URxvt.scrollBar_right: true
URxvt.scrollBar_floating: true
URxvt.scrollstyle: plain
URxvt*scrollTtyOutput : false
URxvt*scrollWithBuffer : true
URxvt*scrollTtyKeypress : true
URxvt*secondaryWheel : true
URxvt*secondaryScreen : true
urxvt*buffered:false
urxvt*transparent:true
urxvt*fading:20
urxvt*tintColor:#000000
urxvt*shading:20
!this makes urxvt to start faster?!
urxvt*preeditType:Root
! URxvt.preeditType: OffTheSpot
! URxvt.inputMethod:fcitx
URxvt.imFont: -Monaco-medium-r-normal–0-0-0-0-p-0-iso10646-1
urxvt*imLocale:zh_CN.utf8
URxvt.font:xft:Monaco:size=12:antialias=true,xft:DejaVu Sans Mono:size=12:antialias=true,xft:Source Han Sans CN:size=12:antialias=true:charwidth=12
URxvt.boldfont:xft:Monaco:size=14:antialias=true,xft:DejaVu Sans Mono:size=14:antialias=true,xft:Source Han Sans CN:size=12:antialias=true:charwidth=12
URxvt.iso14755: false
URxvt.iso14755_52: false
urxvt*urgentOnBell:true
urxvt*meta8:false
urxvt*borderless:true
urxvt*multichar_encoding:utf8
urxvt*cursorBlink:false
urxvt*cursorUnderline:false
urxvt*metaSendsEscape: true
urxvt*eightBitInput: false
urxvt*keysym.sym: string
URxvt.perl-ext-common: default,matcher,url-select,vim-scrollback,clipboard,autocomplete-ALL-the-things,font-size
URxvt.colorUL: #4682B4
URxvt.keysym.M-slash: perl:aAtt:complete
! keyboard-select,
! URxvt.keysym.M-v: perl:keyboard-select:activate
! URxvt.keysym.M-s: perl:keyboard-select:search
! URxvt.clipboard.autocopy: true
URxvt.keysym.C-C: perl:clipboard:copy
URxvt.keysym.C-V: perl:clipboard:paste
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.url-select.underline: true
URxvt.url-select.autocopy: true
URxvt.url-select.launcher: /usr/bin/google-chrome-stable
URxvt.url-launcher: /usr/bin/google-chrome-stable
! default middle click to start the browser
URxvt.matcher.button: 2
urxvt.vim-scrollback: C-M-v
! M-r * -> paste from buffer; M-r + -> paste from clipboard
urxvt.vim-scrollback-paste: M-r
urxvt.vim-scrollback-bg: 16
urxvt.vim-scrollback-fg: 10
! file name with line number
urxvt.vim-scrollback.pattern.1: (.*)
! Change font size on the fly
URxvt.keysym.C-S-Up: perl:font-size:incglobal
URxvt.keysym.C-S-Down: perl:font-size:decglobal
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [[ -f ~/.extend.xinitrc ]];then
. ~/.extend.xinitrc
else
DEFAULT_SESSION=i3
fi
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
if [ -f $HOME/.Xmodmap ]; then
/usr/bin/xmodmap $HOME/.Xmodmap
fi
# volume
/usr/bin/start-pulseaudio-x11
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case $1 in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startkde) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=($DEFAULT_SESSION) ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session)
# twm &
# xclock -geometry 50x50-1+1 &
# xterm -geometry 80x50+494+51 &
# xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
xset r rate 500 33
keycode 94 = backslash bar backslash bar
# global variable
export EDITOR=vim
export TERMINAL=urxvt
# ibus-input
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
PS1='\[\033[01;32m\][\u-\h\[\033[01;37m\] \w\[\033[01;32m\]]\$\[\033[00m\] '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment