bashrc-all 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. if [ -f ~/.wal_alias ]; then
  2. . ~/.wal_alias
  3. fi
  4. [ -f ~/.fzf.bash ] && source ~/.fzf.bash
  5. # Cargo config
  6. [ -f ~/.cargo ] && source "$HOME/.cargo/env"
  7. CAT_PATH=$(which cat --skip-alias)
  8. if [ -f ~/.cache/wal/sequences ]; then
  9. $CAT_PATH ~/.cache/wal/sequences
  10. fi
  11. export EDITOR=$(which vim)
  12. BPYTOP_PATH=$(which bpytop)
  13. if [ ! -z "$BPYTOP_PATH" ]; then
  14. alias htop="bpytop -b \"cpu mem net proc\""
  15. fi
  16. EXA_PATH=$(which exa)
  17. if [ ! -z "$EXA_PATH" ]; then
  18. alias ls="$EXA_PATH"
  19. alias ll="$EXA_PATH -lahg"
  20. alias lg="$EXA_PATH -lahg --git"
  21. fi
  22. BAT_PATH=$(which bat)
  23. if [ ! -z "$BAT_PATH" ]; then
  24. export MANPAGER="$BAT_PATH --color never"
  25. alias cat="$BAT_PATH --color never"
  26. fi
  27. # Platform agnostic aliases
  28. export TMUX_PATH=$(which tmux --skip-alias)
  29. alias tmuxn="$TMUX_PATH new -s $1"
  30. alias tmuxa="$TMUX_PATH attach -t $1"
  31. alias tmuxl="$TMUX_PATH ls"
  32. alias tmuxq="echo $TMUX"
  33. alias httpserver="python -m SimpleHTTPServer"
  34. if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
  35. then
  36. PATH="$HOME/.local/bin:$HOME/bin:$PATH"
  37. fi
  38. export PATH
  39. # HN Helper functions
  40. # Pull up comments for number
  41. export HN_PATH=$(which hn)
  42. hnc() {
  43. if [ ! -z "$HN_PATH" ]; then
  44. hn view -c $1 | less -r
  45. else
  46. echo "hn not in path"
  47. fi
  48. }
  49. export HIMALAYA_PATH=$(which himalaya)
  50. if [ ! -z $HIMALAYA_PATH ]; then
  51. . ~/Repos/dotfiles/himalaya/himalaya_shell_ui.sh
  52. fi
  53. # GPG Decrypt wrapper
  54. export GPG_PATH=$(which gpg)
  55. if [ ! -z $GPG_PATH ]; then
  56. function encrypt() {
  57. if [ -z $1 ]; then
  58. echo "Must pass path to this function"
  59. return 1
  60. fi
  61. gpg -c --armor --cipher-algo AES256 --no-symkey-cache --output $1.asc $1
  62. }
  63. function decrypt() {
  64. if [ -z $1 ]; then
  65. echo "Must pass path to this function"
  66. return 1
  67. fi
  68. gpg --no-symkey-cache -d $1
  69. }
  70. fi
  71. alias open-ssh="ps aux | awk '{if (\$11 ~ /ssh$/) { print substr(\$0, index(\$0,\$9)) }}'"
  72. alias reload="source ~/.bashrc"
  73. pb () {
  74. curl -F "file=@-" http://chate.io:669
  75. }
  76. # For use with emacs vterm
  77. # See: https://github.com/akermu/emacs-libvterm
  78. vterm_printf(){
  79. if [ -n "$TMUX" ] && ([ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ] ); then
  80. # Tell tmux to pass the escape sequences through
  81. printf "\ePtmux;\e\e]%s\007\e\\" "$1"
  82. elif [ "${TERM%%-*}" = "screen" ]; then
  83. # GNU screen (screen, screen-256color, screen-256color-bce)
  84. printf "\eP\e]%s\007\e\\" "$1"
  85. else
  86. printf "\e]%s\e\\" "$1"
  87. fi
  88. }
  89. if [[ "$INSIDE_EMACS" = 'vterm' ]]; then
  90. function clear(){
  91. vterm_printf "51;Evterm-clear-scrollback";
  92. tput clear;
  93. }
  94. fi
  95. # Case defines platform specific configs
  96. # Platform agnostic configs above
  97. case $(hostname) in
  98. Simons-MacBook-Pro.local)
  99. export PS1="\w λ > \[$(tput sgr0)\]"
  100. # Mac aliases
  101. alias shorten-ps1="PS1='λ > '"
  102. alias default-ps1='PS1="\w λ > \[$(tput sgr0)\]"'
  103. alias emacs="/Applications/Emacs.app/Contents/MacOS/Emacs"
  104. # PATH setups
  105. PATH='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/swatson/.fzf/bin:/Users/swatson/Library/Python/3.8/bin'
  106. default-ps1
  107. clear
  108. echo "Loaded MacM1 config"
  109. ;;
  110. swatson-casana)
  111. export TERM=xterm-256color # This fixes some vim issues
  112. export PS1="\[\033[36m\]\w\[\033[m\] λ "
  113. # function to set terminal title
  114. function set-title() {
  115. if [[ -z "$ORIG" ]]; then
  116. ORIG=$PS1
  117. fi
  118. TITLE="\[\e]2;$*\a\]"
  119. PS1=${ORIG}${TITLE}
  120. }
  121. alias ssh-old="ssh -oKexAlgorithms=+diffie-hellman-group1-sha1"
  122. alias sleep-open="sudo zzz && slock"
  123. alias ssh-aws="ssh -i ~/.ssh/aws_key"
  124. tmux_init () {
  125. $TMUX_PATH new -s services -d
  126. $TMUX_PATH new -s admin -d
  127. $TMUX_PATH new -s personal -d
  128. $TMUX_PATH new -s music -d
  129. $TMUX_PATH new -s lisp-koans -d
  130. }
  131. # Load non tracked aliases for work specific things
  132. source ~/Work/secure_shell_aliases
  133. echo "Loaded Void Work Config"
  134. ;;
  135. void)
  136. export PS1="\[\033[36m\]\w\[\033[m\] λ "
  137. alias shorten-ps1="PS1='λ > '"
  138. echo "Loaded Void config"
  139. esac