.bashrc 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #
  2. # ~/.bashrc
  3. #
  4. # If not running interactively, don't do anything
  5. [[ $- != *i* ]] && return
  6. MUSIC_DIR="/media/music"
  7. MTG_DIR="~/.local/share/data/Cockatrice/Cockatrice/decks"
  8. SH_DIR="~/.config/env"
  9. export EDITOR="/usr/bin/emacs -nw"
  10. export BROWSER=/usr/bin/firefox
  11. export TERM=xterm-256color
  12. shopt -s checkwinsize
  13. shopt -s autocd
  14. shopt -s dirspell
  15. shopt -s xpg_echo
  16. # Set up history search
  17. bind '"\e[A": history-search-backward'
  18. bind '"\e[B": history-search-forward'
  19. export HISTCONTROL=ignoredups
  20. # Set up left/right word skipping
  21. bind '"\e[1;5D": backward-word'
  22. bind '"\e[1;5C": forward-word'
  23. source /usr/share/git/completion/git-completion.bash
  24. #for script in "$SH_DIR"/*.sh ; do # Does not work. Don't know why.
  25. #for script in ~/.config/env/*.sh; do
  26. # source "$script"
  27. #done
  28. getLyricalSongs()
  29. {
  30. mpc list album | grep -v '\(Portal 2.*\)\|\(Avatar.*\)\|\(Frozen.*\)' | while read -r line; do
  31. printf "$(mpc find album "$line" | grep -v 'Instrumental')\n"
  32. done
  33. }
  34. # echo exec
  35. # Print command and execute ala make
  36. #if type -t ecex; then
  37. ecex()
  38. {
  39. echo "$@"
  40. $@
  41. }
  42. #alias xterm='echo "xterm -rv" && xterm -rv'
  43. alias xterm='ecex xterm -rv'
  44. alias decks='ecex "$MTG_DIR" && ecex mv /tmp/*.dec "$MTG_DIR"'
  45. alias newMusic='ecex sudo chown media /tmp/*.mp3 && ecex sudo -u media mv -v /tmp/*.mp3 /media/music && ecex mpc update'
  46. alias playMusic='ecex mpc clear && ecex getLyricalSongs | ecex mpc add && ecex mpc shuffle && ecex mpc play'
  47. alias conServer='ecex ssh tflucke@63.246.2.164'
  48. alias packageSize="pacman -Qi | gawk '/^Name/ { x = $3 }; /^Installed Size/ { sub(/Installed Size *:/, ""); print x":" $0 }' | sort -k2,3nr"
  49. #[ $exitCode -eq 0 ] && color=$FGRN || color=$FRED
  50. PS1="[\u@\h->$BLD\w$RS]
  51. $BLD$([ $? -ne 0 ] && echo '\[$FRED')(\$?)$RS \$ "
  52. # Auto mount
  53. # Mounts or unmounts intelligently. Useful for keyboard bindings
  54. amount () {
  55. if mount | grep -q "/dev/$1"; then
  56. udevil umount -l "/dev/$1"
  57. else
  58. udevil mount "/dev/$1"
  59. fi
  60. }
  61. mysqlpermissions()
  62. {
  63. mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
  64. 'SHOW GRANTS FOR \'', user, '\'@\'', host, '\';'
  65. ) AS query FROM mysql.user" | \
  66. mysql $@ | \
  67. sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/## \1 ##/;/##/{x;p;x;}'
  68. }
  69. # Syncs music dir to dir. Useful for syncing phone music.
  70. syncMusic()
  71. {
  72. ecex rsync -ruh --progress "$MUSIC_DIR" "$1"
  73. }