move config files to new directory

This commit is contained in:
ksyasuda
2021-07-28 23:44:53 -07:00
commit 58f9300f1e
121 changed files with 16536 additions and 0 deletions

261
dotfiles/.Xmodmap Normal file
View File

@@ -0,0 +1,261 @@
keycode 8 =
keycode 9 = Escape NoSymbol Escape NoSymbol Escape
keycode 10 = 1 exclam 1 exclam 1 exclam
keycode 11 = 2 at 2 at 2 at
keycode 12 = 3 numbersign 3 numbersign 3 numbersign
keycode 13 = 4 dollar 4 dollar 4 dollar
keycode 14 = 5 percent 5 percent 5 percent
keycode 15 = 6 asciicircum 6 asciicircum 6 asciicircum
keycode 16 = 7 ampersand 7 ampersand 7 ampersand
keycode 17 = 8 asterisk 8 asterisk 8 asterisk
keycode 18 = 9 parenleft 9 parenleft 9 parenleft
keycode 19 = 0 parenright 0 parenright 0 parenright
keycode 20 = minus underscore minus underscore minus underscore
keycode 21 = equal plus equal plus equal plus
keycode 22 = BackSpace BackSpace BackSpace BackSpace NoSymbol NoSymbol Terminate_Server
keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode 24 = q Q q Q q Q
keycode 25 = w W w W w W
keycode 26 = e E e E e E
keycode 27 = r R r R r R
keycode 28 = t T t T t T
keycode 29 = y Y y Y y Y
keycode 30 = u U u U u U
keycode 31 = i I i I i I
keycode 32 = o O o O o O
keycode 33 = p P p P p P
keycode 34 = bracketleft braceleft bracketleft braceleft bracketleft braceleft
keycode 35 = bracketright braceright bracketright braceright bracketright braceright
keycode 36 = Return NoSymbol Return NoSymbol Return
keycode 37 = Caps_Lock NoSymbol Caps_Lock NoSymbol Caps_Lock
keycode 38 = a A a A a A
keycode 39 = s S s S s S
keycode 40 = d D d D d D
keycode 41 = f F f F f F
keycode 42 = g G g G g G
keycode 43 = h H h H h H
keycode 44 = j J j J j J
keycode 45 = k K k K k K
keycode 46 = l L l L l L
keycode 47 = semicolon colon semicolon colon semicolon colon
keycode 48 = apostrophe quotedbl apostrophe quotedbl apostrophe quotedbl
keycode 49 = grave asciitilde grave asciitilde grave asciitilde
keycode 50 = Shift_L NoSymbol Shift_L NoSymbol Shift_L
keycode 51 = backslash bar backslash bar backslash bar
keycode 52 = z Z z Z z Z
keycode 53 = x X x X x X
keycode 54 = c C c C c C
keycode 55 = v V v V v V
keycode 56 = b B b B b B
keycode 57 = n N n N n N
keycode 58 = m M m M m M
keycode 59 = comma less comma less comma less
keycode 60 = period greater period greater period greater
keycode 61 = slash question slash question slash question
keycode 62 = Shift_R NoSymbol Shift_R NoSymbol Shift_R
keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab
keycode 64 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L
keycode 65 = space NoSymbol space NoSymbol space
keycode 66 = Control_L NoSymbol Control_L NoSymbol Control_L
keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2
keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3
keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4
keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5
keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6
keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7
keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8
keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9
keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
keycode 77 = Num_Lock NoSymbol Num_Lock NoSymbol Num_Lock
keycode 78 = Scroll_Lock NoSymbol Scroll_Lock NoSymbol Scroll_Lock
keycode 79 = KP_Home KP_7 KP_Home KP_7 KP_Home KP_7
keycode 80 = KP_Up KP_8 KP_Up KP_8 KP_Up KP_8
keycode 81 = KP_Prior KP_9 KP_Prior KP_9 KP_Prior KP_9
keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode
keycode 83 = KP_Left KP_4 KP_Left KP_4 KP_Left KP_4
keycode 84 = KP_Begin KP_5 KP_Begin KP_5 KP_Begin KP_5
keycode 85 = KP_Right KP_6 KP_Right KP_6 KP_Right KP_6
keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode
keycode 87 = KP_End KP_1 KP_End KP_1 KP_End KP_1
keycode 88 = KP_Down KP_2 KP_Down KP_2 KP_Down KP_2
keycode 89 = KP_Next KP_3 KP_Next KP_3 KP_Next KP_3
keycode 90 = KP_Insert KP_0 KP_Insert KP_0 KP_Insert KP_0
keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal KP_Delete KP_Decimal
keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode 93 =
keycode 94 = less greater less greater bar brokenbar bar
keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11
keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12
keycode 97 =
keycode 98 = Katakana NoSymbol Katakana NoSymbol Katakana
keycode 99 = Hiragana NoSymbol Hiragana NoSymbol Hiragana
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode NoSymbol Henkan_Mode
keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana NoSymbol Hiragana_Katakana
keycode 102 = Muhenkan NoSymbol Muhenkan NoSymbol Muhenkan
keycode 103 =
keycode 104 = KP_Enter NoSymbol KP_Enter NoSymbol KP_Enter
keycode 105 = Control_R NoSymbol Control_R NoSymbol Control_R
keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab
keycode 107 = Print Sys_Req Print Sys_Req Print Sys_Req
keycode 108 = Alt_R Meta_R Alt_R Meta_R Alt_R Meta_R
keycode 109 = Linefeed NoSymbol Linefeed NoSymbol Linefeed
keycode 110 = Home NoSymbol Home NoSymbol Home
keycode 111 = Up NoSymbol Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left NoSymbol Left
keycode 114 = Right NoSymbol Right NoSymbol Right
keycode 115 = End NoSymbol End NoSymbol End
keycode 116 = Down NoSymbol Down NoSymbol Down
keycode 117 = Next NoSymbol Next NoSymbol Next
keycode 118 = Insert NoSymbol Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete NoSymbol Delete
keycode 120 =
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute NoSymbol XF86AudioMute
keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
keycode 124 = XF86PowerOff NoSymbol XF86PowerOff NoSymbol XF86PowerOff
keycode 125 = KP_Equal NoSymbol KP_Equal NoSymbol KP_Equal
keycode 126 = plusminus NoSymbol plusminus NoSymbol plusminus
keycode 127 = Pause Break Pause Break Pause Break
keycode 128 = XF86LaunchA NoSymbol XF86LaunchA NoSymbol XF86LaunchA
keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 130 = Hangul NoSymbol Hangul NoSymbol Hangul
keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja NoSymbol Hangul_Hanja
keycode 133 = Super_L NoSymbol Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R NoSymbol Super_R
keycode 135 = Menu NoSymbol Menu NoSymbol Menu
keycode 136 = Cancel NoSymbol Cancel NoSymbol Cancel
keycode 137 = Redo NoSymbol Redo NoSymbol Redo
keycode 138 = SunProps NoSymbol SunProps NoSymbol SunProps
keycode 139 = Undo NoSymbol Undo NoSymbol Undo
keycode 140 = SunFront NoSymbol SunFront NoSymbol SunFront
keycode 141 = XF86Copy NoSymbol XF86Copy NoSymbol XF86Copy
keycode 142 = XF86Open NoSymbol XF86Open NoSymbol XF86Open
keycode 143 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste
keycode 144 = Find NoSymbol Find NoSymbol Find
keycode 145 = XF86Cut NoSymbol XF86Cut NoSymbol XF86Cut
keycode 146 = Help NoSymbol Help NoSymbol Help
keycode 147 = XF86MenuKB NoSymbol XF86MenuKB NoSymbol XF86MenuKB
keycode 148 = XF86Calculator NoSymbol XF86Calculator NoSymbol XF86Calculator
keycode 149 =
keycode 150 = XF86Sleep NoSymbol XF86Sleep NoSymbol XF86Sleep
keycode 151 = XF86WakeUp NoSymbol XF86WakeUp NoSymbol XF86WakeUp
keycode 152 = XF86Explorer NoSymbol XF86Explorer NoSymbol XF86Explorer
keycode 153 = XF86Send NoSymbol XF86Send NoSymbol XF86Send
keycode 154 =
keycode 155 = XF86Xfer NoSymbol XF86Xfer NoSymbol XF86Xfer
keycode 156 = XF86Launch1 NoSymbol XF86Launch1 NoSymbol XF86Launch1
keycode 157 = XF86Launch2 NoSymbol XF86Launch2 NoSymbol XF86Launch2
keycode 158 = XF86WWW NoSymbol XF86WWW NoSymbol XF86WWW
keycode 159 = XF86DOS NoSymbol XF86DOS NoSymbol XF86DOS
keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver NoSymbol XF86ScreenSaver
keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows NoSymbol XF86RotateWindows
keycode 162 = XF86TaskPane NoSymbol XF86TaskPane NoSymbol XF86TaskPane
keycode 163 = XF86Mail NoSymbol XF86Mail NoSymbol XF86Mail
keycode 164 = XF86Favorites NoSymbol XF86Favorites NoSymbol XF86Favorites
keycode 165 = XF86MyComputer NoSymbol XF86MyComputer NoSymbol XF86MyComputer
keycode 166 = XF86Back NoSymbol XF86Back NoSymbol XF86Back
keycode 167 = XF86Forward NoSymbol XF86Forward NoSymbol XF86Forward
keycode 168 =
keycode 169 = XF86Eject NoSymbol XF86Eject NoSymbol XF86Eject
keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject XF86Eject XF86Eject
keycode 171 = XF86AudioNext NoSymbol XF86AudioNext NoSymbol XF86AudioNext
keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject XF86AudioStop XF86Eject
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord NoSymbol XF86AudioRecord
keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind NoSymbol XF86AudioRewind
keycode 177 = XF86Phone NoSymbol XF86Phone NoSymbol XF86Phone
keycode 178 =
keycode 179 = XF86Tools NoSymbol XF86Tools NoSymbol XF86Tools
keycode 180 = XF86HomePage NoSymbol XF86HomePage NoSymbol XF86HomePage
keycode 181 = XF86Reload NoSymbol XF86Reload NoSymbol XF86Reload
keycode 182 = XF86Close NoSymbol XF86Close NoSymbol XF86Close
keycode 183 =
keycode 184 =
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown NoSymbol XF86ScrollDown
keycode 187 = parenleft NoSymbol parenleft NoSymbol parenleft
keycode 188 = parenright NoSymbol parenright NoSymbol parenright
keycode 189 = XF86New NoSymbol XF86New NoSymbol XF86New
keycode 190 = Redo NoSymbol Redo NoSymbol Redo
keycode 191 = XF86Tools NoSymbol XF86Tools NoSymbol XF86Tools
keycode 192 = XF86Launch5 NoSymbol XF86Launch5 NoSymbol XF86Launch5
keycode 193 = XF86Launch6 NoSymbol XF86Launch6 NoSymbol XF86Launch6
keycode 194 = XF86Launch7 NoSymbol XF86Launch7 NoSymbol XF86Launch7
keycode 195 = XF86Launch8 NoSymbol XF86Launch8 NoSymbol XF86Launch8
keycode 196 = XF86Launch9 NoSymbol XF86Launch9 NoSymbol XF86Launch9
keycode 197 =
keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute NoSymbol XF86AudioMicMute
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle NoSymbol XF86TouchpadToggle
keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn NoSymbol XF86TouchpadOn
keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff NoSymbol XF86TouchpadOff
keycode 202 =
keycode 203 = Mode_switch NoSymbol Mode_switch NoSymbol Mode_switch
keycode 204 = NoSymbol Alt_L NoSymbol Alt_L NoSymbol Alt_L
keycode 205 = NoSymbol Meta_L NoSymbol Meta_L NoSymbol Meta_L
keycode 206 = NoSymbol Super_L NoSymbol Super_L NoSymbol Super_L
keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L NoSymbol Hyper_L
keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay NoSymbol XF86AudioPlay
keycode 209 = XF86AudioPause NoSymbol XF86AudioPause NoSymbol XF86AudioPause
keycode 210 = XF86Launch3 NoSymbol XF86Launch3 NoSymbol XF86Launch3
keycode 211 = XF86Launch4 NoSymbol XF86Launch4 NoSymbol XF86Launch4
keycode 212 = XF86LaunchB NoSymbol XF86LaunchB NoSymbol XF86LaunchB
keycode 213 = XF86Suspend NoSymbol XF86Suspend NoSymbol XF86Suspend
keycode 214 = XF86Close NoSymbol XF86Close NoSymbol XF86Close
keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay NoSymbol XF86AudioPlay
keycode 216 = XF86AudioForward NoSymbol XF86AudioForward NoSymbol XF86AudioForward
keycode 217 =
keycode 218 = Print NoSymbol Print NoSymbol Print
keycode 219 =
keycode 220 = XF86WebCam NoSymbol XF86WebCam NoSymbol XF86WebCam
keycode 221 = XF86AudioPreset NoSymbol XF86AudioPreset NoSymbol XF86AudioPreset
keycode 222 =
keycode 223 = XF86Mail NoSymbol XF86Mail NoSymbol XF86Mail
keycode 224 = XF86Messenger NoSymbol XF86Messenger NoSymbol XF86Messenger
keycode 225 = XF86Search NoSymbol XF86Search NoSymbol XF86Search
keycode 226 = XF86Go NoSymbol XF86Go NoSymbol XF86Go
keycode 227 = XF86Finance NoSymbol XF86Finance NoSymbol XF86Finance
keycode 228 = XF86Game NoSymbol XF86Game NoSymbol XF86Game
keycode 229 = XF86Shop NoSymbol XF86Shop NoSymbol XF86Shop
keycode 230 =
keycode 231 = Cancel NoSymbol Cancel NoSymbol Cancel
keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia NoSymbol XF86AudioMedia
keycode 235 = XF86Display NoSymbol XF86Display NoSymbol XF86Display
keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff
keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown
keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp
keycode 239 = XF86Send NoSymbol XF86Send NoSymbol XF86Send
keycode 240 = XF86Reply NoSymbol XF86Reply NoSymbol XF86Reply
keycode 241 = XF86MailForward NoSymbol XF86MailForward NoSymbol XF86MailForward
keycode 242 = XF86Save NoSymbol XF86Save NoSymbol XF86Save
keycode 243 = XF86Documents NoSymbol XF86Documents NoSymbol XF86Documents
keycode 244 = XF86Battery NoSymbol XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN NoSymbol XF86WLAN
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle
keycode 252 =
keycode 253 =
keycode 254 = XF86WWAN NoSymbol XF86WWAN NoSymbol XF86WWAN
keycode 255 = XF86RFKill NoSymbol XF86RFKill NoSymbol XF86RFKill
!bind control to control
!bind caps lock to escape
!bind shift+caps to caps
!for some reason ctrl and caps lock got switched again so switch keycode and
!order a bit
clear lock
clear control
keycode 37 = Escape Caps_Lock NoSymbol NoSymbol
keycode 66 = Control_L
add control = Control_L Control_R
!keycode 133 = Super_L NoSymbol NoSymbol Super_L

75
dotfiles/.bash_aliases Normal file
View File

@@ -0,0 +1,75 @@
alias suda='sudo'
## Colorls
alias lca='colorls -A --sd -X'
alias lc='colorls --sd -X'
alias lcl='colorls --sd -Xl'
alias lcla='colorls -lA --sd -X'
alias lcal='colorls -lA --sd -X'
## Pacman/Yay
# update without noconfirm
alias spu='sudo pacman -Syu'
# cleanup orphaned packages
alias cleanup='suda pacman -Rns $(pacman -Qtdq)'
# update everything
alias upall="paru -Syu --noconfirm"
## Npm/Yarn
alias ns='npm start'
alias yb='yarn build'
alias ys='yarn start'
alias yi='yarn install'
## Git
alias gs='git status'
alias gc='git commit'
alias gp='git push'
## Helpful
alias count='ls -l | wc -l'
# use all cores
alias uac="sh ~/.bin/main/000*"
alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg"
alias update-fc="suda fc-cache -fv"
alias unlock-db='suda rm /var/lib/pacman/db.lck'
alias dn='deactivate_node'
alias logs='ksystemlog &'
## youtube-dl
alias yta-best="youtube-dl --extract-audio --audio-format best"
alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 --config-location ~/.config/youtube-dl/config.audio"
alias ytv-best="youtube-dl -f bestvideo+bestaudio"
# get error message from journalctl
alias jctl='journalctl -p 3 -xb'
## This is specific to WSL 2. If the WSL 2 VM goes rogue and decides not to free
## up memory, this command will free your memory after about 20-30 seconds.
## Details: https://github.com/microsoft/WSL/issues/4166#issuecomment-628493643
alias drop_cache="sudo sh -c \"echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'\""
# mkdir
alias mkdir='mkdir -p'
## I'm Lazy
alias scripts='cd /home/sudacode/scripts'
alias freud='cd /home/sudacode/'
alias c=clear
alias btop=bpytop
alias fd='firebase deploy'
alias open='xdg-open'
alias glow='glow -p'
alias jn='jupyter-notebook'
alias blog='cd ~/projects/React/github/Sudacode-Blog-V3'
alias venv='source env/bin/activate'
alias eecs484='cd ~/projects/eecs484/project4'
alias music=ncmpcpp
alias reload='source ~/.zshrc'
alias golf='cd ~/projects/Python/SudacodeGolf/ && source env/bin/activate'
alias prolog=swipl
alias chess='cd ~/projects/React/github/sudacode-chess/'
alias temps='curl wttr.in'
alias whatsmyip='http ipinfo.io'
alias edit='sudoedit'
alias ports='sudo netstat -tupln'
alias ncdu='ncdu --color dark'

186
dotfiles/.bashrc Normal file
View File

@@ -0,0 +1,186 @@
# Syntax hilighting
# Add this lines at the top of .bashrc:
#[[ $- == *i* ]] && source /home/ksyasuda/Downloads/ble.sh/out/ble.sh --noattach
export PATH="$HOME/scripts:$PATH"
export EDITOR=vim
source ~/.bash_aliases
# ~/.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-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
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
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'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# 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$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# 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
gb() {
echo -n '[' && git branch 2>/dev/null | grep '^*' | colrm 1 2 | tr -d '\n' && echo -n '*]'
}
git_branch() {
gb | sed 's/\[\*\]//'
}
test_colors() {
read nice
if type $nice &> /dev/null; then
export PS1='\e[0;92m'
else
export PS1='\e[0;91m'
fi
}
#LS_COLORS="di=42;1;30:*.mp3=1;32;41:fi=0;91:*.c=1;96:*.js=1;93:*.h=1;35:ex=1;32:*.html=1;36:*.cpp=1;96:*.txt=1;91:*Makefile=1;35:*.css=1;36:*.as=1;35:ow=1;42;93:*.ttf=0;91:*.png=0;91:*README=4;31:*.jpg=0;91:*.md=4;31:*.json=1;94"
LS_COLORS="di=42;1;95:*.mp3=1;32;41:fi=0;91:*.c=1;96:*.js=1;93:*.h=1;35:ex=1;32:*.html=1;36:*.cpp=1;96:*.txt=1;91:*Makefile=1;35:*.css=1;36:*.as=1;35:ow=1;42;93:*.ttf=0;91:*.png=0;91:*README=4;31:*.jpg=0;91:*.md=4;31:*.json=1;94"
export VISUAL=vim
PS2="\e[41;94m===>\e[0m \e[91m"
# export PATH=$PATH:/home/ksyasuda/go/bin
PS1="\033[1;35m[ \d | \@ ]\033[0m\e[44;0;36m[\w]\e[1;92m\$(git_branch)\e[44;0;91m\n$: "
##Powerline configuration
#if [ -f /usr/share/powerline/bindings/bash/powerline.sh ]; then
# powerline-daemon -q
# POWERLINE_BASH_CONTINUATION=1
# POWERLINE_BASH_SELECT=1
# source /usr/share/powerline/bindings/bash/powerline.sh
#fi
# for use with xserver... causes screenfetch and neofetch to not work unless xserver is running
#export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
#sudo /etc/init.d/dbus start &> /dev/null
# Syntax hilighting
# Add this line at the end of .bashrc:
#((_ble_bash)) && ble-attach
# export GTK_IM_MODULE=xim
# export XMODIFIERS=@im=ibus
# export QT_IM_MODULE=xim
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

370
dotfiles/.doom_help.org Normal file
View File

@@ -0,0 +1,370 @@
SPC
* SPC: find file
, switch buffer
. browse files
: MX
; EX
< switch buffer
` eval
u universal arg
x pop up scratch
~ toggle last popup
* TAB workspace
TAB Display tab bar
. switch workspace
0 last workspace
1-9 : x workspace
L load session
S autosave current session
X delete sessions
[ previous workspace
] next workspace
d delete workspace
l load workspace from file
n workspace
s save workspace to file
x kill all buffers'
* / search
i symbols
I symbols accr. buffers
b buffer
d directory
o Online providers
p project
*** [ prev
S spelling corr
[ text size
b buffer
d diff
e error
h smart jump
s spelling error
t todo
w workspace
*** ] next
S spelling corr
[ text size
b buffer
d diff
e error
h smart jump
s spelling error
t todo
w workspace
*** SPC
SPC: find file
, switch buffer
. browse files
: MX
; EX
< switch buffer
` eval
u universal arg
x pop up scratch
~ toggle last popup
*** TAB workspace
TAB Display tab bar
. switch workspace
0 last workspace
1-9 : x workspace
L load session
S autosave current session
X delete sessions
[ previous workspace
] next workspace
d delete workspace
l load workspace from file
n workspace
s save workspace to file
x kill all buffers'
**** / search
i symbols
I symbols accr. buffers
b buffer
d directory
o Online providers
p project
**** [ prev
S spelling corr
[ text size
b buffer
d diff
e error
h smart jump
s spelling error
t todo
w workspace
**** ] next
S spelling corr
[ text size
b buffer
d diff
e error
h smart jump
s spelling error
t todo
w workspace
**** b buffer
B switch buffer
S sudo edit
[ prev
] next
b switch ws buffer
k kill buffer
n new empty buffer
o kill other buffers
s save buffer
x pop scratch buffer
z burry buffer
**** c code
d jump to def
D jump to ref
e evaluate buffer
E evaluate and replace
b build
r repl
x list errors
**** f file
. find file
/ find file in project
> sudo find file
? find file from here
E Browse emacs.d
P browse private config
R recent project files
a find other file
c open project editor config
d find dir
e find file in emacs.d
p find file in private config
r recent files
y yank filename
**** g git
c magit commit
C magit clone
G list gists
L list reps
P magic pull popup
R git revert
S git stage
U git unstange hunk
[ previous
] next
b magic blame
d magic dispatch
f magic find
g magit status
i init repo
l magit buffer log
p push popup
r git revert hunk
s git status
t git time matchine
**** o open
M mail
N neotree
O reveal proj finder
b browser
d debugger
n neotree
o reveal in finder
r repl
t terminal
*** p project
! run cmd in project root
. browse
/ find in project
c compile project
o find other file
p switch project
r recent project files
t list project tasks
x invalidate cache
*** q quit
q save and quit
Q quit
*** r remote
. browse remote files
> detect remote changes
D diff local and remote
U upload local
d download remote
u upload local
*** s snippets
S find snippet
i insert snippet
n new snippet
s find snippet for mode
*** t toggle
F frame fullscreen
I indente
b big mode
f flycheck
g evil goggles
h impatient modei indet guides
l line numbers
p org-tree-slide-mode
s flyspell
*** w window
+ increase height
- descr height
< dec width
= balance windows
> incr width
H move left
J move down
K move up
L move right
R rotate up
S split
W prev
_ set height
b bottom right
c close window
h left
j down
k up
l right
n new
o enlargen
p mru
q quit
r rotate down
s split
t top left
u winner undo
v vsplit
w next
| set width b buffer
B switch buffer
S sudo edit
[ prev
] next
b switch ws buffer
k kill buffer
n new empty buffer
o kill other buffers
s save buffer
x pop scratch buffer
z burry buffer
*** c code
d jump to def
D jump to ref
e evaluate buffer
E evaluate and replace
b build
r repl
x list errors
*** f file
. find file
/ find file in project
> sudo find file
? find file from here
E Browse emacs.d
P browse private config
R recent project files
a find other file
c open project editor config
d find dir
e find file in emacs.d
p find file in private config
r recent files
y yank filename
*** g git
c magit commit
C magit clone
G list gists
L list reps
P magic pull popup
R git revert
S git stage
U git unstange hunk
[ previous
] next
b magic blame
d magic dispatch
f magic find
g magit status
i init repo
l magit buffer log
p push popup
r git revert hunk
s git status
t git time matchine
*** o open
M mail
N neotree
O reveal proj finder
b browser
d debugger
n neotree
o reveal in finder
r repl
t terminal
*** p project
! run cmd in project root
. browse
/ find in project
c compile project
o find other file
p switch project
r recent project files
t list project tasks
x invalidate cache
q quit
q save and quit
Q quit
r remote
. browse remote files
> detect remote changes
D diff local and remote
U upload local
d download remote
u upload local
s snippets
S find snippet
i insert snippet
n new snippet
s find snippet for mode
t toggle
F frame fullscreen
I indente
b big mode
f flycheck
g evil goggles
h impatient modei indet guides
l line numbers
p org-tree-slide-mode
s flyspell
w window
+ increase height
- descr height
< dec width
= balance windows
> incr width
H move left
J move down
K move up
L move right
R rotate up
S split
W prev
_ set height
b bottom right
c close window
h left
j down
k up
l right
n new
o enlargen
p mru
q quit
r rotate down
s split
t top left
u winner undo
v vsplit
w next
| set width

3
dotfiles/.gitconfig Normal file
View File

@@ -0,0 +1,3 @@
[user]
name = ksyasuda
email = ksyasuda@umich.edu

4
dotfiles/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
.git
.vscode
env/*
__pycache__/*

527
dotfiles/.help.md Normal file
View File

@@ -0,0 +1,527 @@
# Help / Useful commands
## tmux
tmux new -s [name] # start new session named [name]
tmux a -t [name] # attatch to session named [name]
tmux ls # list tmux sessions
tmux kill-ses -t [name] # kill tmux session named [name]
### tmux keybindings
C+b $ # rename session
C+b % # vertical split
C+b " # horizontal split
C+b d # detach from session
C+b c # create new tab
C+b n # next tab
## sybmolic links
ln -s [file] [symbolic link] # creates a symbolic link for [file]
ln -sr [file] [path_to_sym_file] # creates symlink in a diff directory
## yarn
yarn global add [package] # adds a package globally
yard add [package] # add a package
yarn create react-app [name] # create-react-app with yarn
## firebase
firebase deploy # deploy code to firebase
firebase serve # run local server through firebase
firebase projects:list # list all projects
## curl
curl [web_address] # dump a webpage to the terminal
curl -L [address] # follow a link and dump the results
curl --verbose probably also -v # run with verbose
## nmap
nmap [web-address] # see what ports are open at address
sudo lsof -i -P -n | grep LISTEN # listen for stuff on ports
## pip
pip list # list pip packages installed
## python virtual env
python3 -m venv env # create the env directory
source env/bin/activate # activate the virtual environment
or . env/bin/activate
echo $VIRTUAL_ENV # prints the path to the virtual env
which -a python # lists the install locations of python
deactivate # when in a virtual session deactivates it
## tar
tar [address] # download a file from address
## vim
:sp [filename] - Opens a new file and splits your screen horizontally to show more than one buffer
:vsp [filename] - Opens a new file and splits your screen vertically to show more than one buffer
set nonumber # remove line numbers from file
Ctrl+w h # shift focus left pane
Ctrl+w l # shift fous right pane
:nohls # remove search hilighting until next search
cw # delete word and enter insert mode
^u # go up half a page
^d # go down half a page
s/<pattern>/<replace> # search and replace for pattern
V [select line] # Use visual line to select multiple lines
:g/^$/d # Remove all blank lines from a file
"xyy # Yank line to register x
"xp # Paste line from register x
"+y # yank into the system clipboard register
"+p # paste from the system clipboard register
zg # add word to local dictionary (spellcheck)
## markdown
grip <markdown file> # open a live-server for markdown file
**<>** # bold
--- # line
[...](link) # inline-style link
[desc](link "hover title") # inline-style link with hover title
## pacman
pacman -Syu --ignore=[package name] # update/upgrade all but packages in ignore
pacman -Rs package_name # remove a package and all deps not needed
pacman -Rsu package_name # if above command does not work
pacman -Qtdq # check for orphaned packages
pacman -Rns $(pacman -Qtdq) # remove orphaned packages
rm /var/lib/pacman/db.lck # remove the lock file for pacman
pacman -U /var/cache/pacman/pkg/package-old_version.pkg.tar.type # downgrade package
## ctags
ctags -R . # index the current directory with ctags
## ssh
ssh -i eecs485deploy.pem ubuntu@ec2-3-137-139-85.us-east-2.compute.amazonaws.com
ssh -p [port] user@ip
~/.ssh/config # file to change configuration for ssh
## insta485 server-side
gunicorn -b localhost:8000 -w 2 -D insta485:app # Start the server
pgrep -af gunicorn # list running guinicorn jobs
pkill -f gunicorn # stop the gunicorn server
## wget
wget [address] # download a file/files
-P # specify a directory
-c # allow to save location on INT
## unzip
unzip (file) # unzips zip file
## wine
wine (file) # install a windows file
winefile # opens the windows file system
## onedrive
onedrive --synchronize # sync the onedrive folder to the cloud
## text2pdf
text2pdf [input file] > [output] # convert input file to pdf named output
## netstat
netstat -ltnp | grep -w ':PORT' # show process running on port PORT
l - only show lisening sockets
t - display tcp connections
n - show numerical addresses
p - show PID and process name
grep -w - matching of exact string
netstat -tupan
## japanese keyboard
ibus-setup # start daemon and launch config
Ctrl+Alt+Shift # switch between languages
## httpie
http [url] # send get request with pretty printing/colors
## tcm - Typed CSS Modules # generate styles.css.d.ts file
tsm [directory or file] # generate styles.d.ts for each file or specific file
ranger
ranger # open text-based file-manage
## nmcli # netwrok manager command line interface
nmcli device # lists all device
nmcli device wifi # list wifi networks
nmcli device connct wlp1s0 -ask # connect to wifi and enter password
## picom # to blur stuff
picom & # run picom in background
## i3-gaps
Alt+Shift+G # open up the gap manager
## feg # set background image
feh --bg-scale ~/OneDrive/Pictures/what\ are\ the\ chances.jpg
## xprop # run xprops
Click on window and get information from the Window Manager about it
## Linux keybindings
Alt+Shift+g to go into gap mode and press i for inner gap and + 4 times
redirect stderr
append 2>/dev/null to redirect filehandle 2 (STDERR) to /dev/null, which is
## network-manager
nmtui # launch network manager gui
nmcli # network manager cli
## disown # remove a job from table of active jobs
disown %[jobnumber] # removes active job [jobnumber]
## jobs
jobs -l # list all active jobs
ps
ps -l # list active processes
## doom emacs
Meta=SPACE
Meta+. # open file search
Meta+b # open buffer settings
Meta+b+m # set bookmark
Meta+Return # open bookmark selector
Meta+h # help
Meta+t # toggle menu
Meta+o+p # toggle nerdtree like thing
## bpytop
New and improved bashtop written in python
## w3m
w3m www.google.com # terminal web browswer
## bluetoothctl
scan on # turn on scan
pair [device id] # connect to device
## locate
locate [filename] # return path to file
locate -b [filename] # search for file/dir in basename
suda updatedb -v # update the db with new files
## md2pdf
md2pdf <markdown file> # convert markdown file to pdf
## glow
# Read from file
glow README.md
# Read from stdin
glow -
# Fetch README from GitHub / GitLab
glow github.com/charmbracelet/glow
# Fetch markdown from HTTP
glow https://host.tld/file.md
# stash document from cli
glow stash README.md
## Notifications
/usr/share/dbus-1/services
## crontab
crontab -e # edit the cronjobs for user
crontab -l # list all cronjobs
## youtube-dl
youtube-dl [url] # download a video from youtube
## pgrep
pgrep -af [name] # searches for all process with name [name]
pgrep -x [name] # searches for name with exact matching
pgrep -l [name] # return pid and process name
## pidof
pidof [name] # gets the pid of the process with [name]
## gparted
Use application gparted to format USB drive
## getopts
while getopts "vk" arg; do
case $arg in
v) verbose=1;;
k) justKillIt=1;;
esac
done
## tor
ahmia.fi # dark web search engine
## github api
curl -i -u your_username:your_token https://api.github.com/user
curl -i -H "Authorization: token <access token>" \
https://api.github.com/user/repos
## conky
Ctrl+Mod(alt)+c # toggle conky
Ctrl+Mod+PgUp # next conky
Ctrl+Mod+PgDn # prev conky
# launch conky set up by Arcolinux team
conky -c /home/sudacode/.config/conky/AUR-ArcoLinux-Plasma.conkyrc
conky -c ~/.config/conky/AUR-Nemesis-Plasma.conkyrc
## Chiaki
ps4 remtote play application for linux
## Arch not booting
Ctrl+Alt+F5 to get to tty5
may need to press FN key
check /var/log/pacman.log
## systemctl
```sh
systemctl start [name] Starts service
systemctl stop [name] Stops service
systemctl enable [name] Enables service on startup
systemctl disable [name] Disables service on startup
systemctl status [name] Get status of service
```
## Fix Spotify Not Working Well
rm /usr/share/dbus-1/services/org.kde.plasma.Notifications.service
## heroku
heroku git:remote -a [project name] Connect repository to the heroku remote
## tokei
tokei show programming languages in use in current directory
## ncmpcpp
audio player
## pulsemixer
command line pulseaudio
## psql
connect to a postgresql db on another machine
psql postgresql://[username]@[addr]:[port]/[DBname]
## udisksctl
### mount/unmount sd card
udisksctl mount -b /dev/mmcblk0p1
udisksctl unmount -b /dev/mmcblk0p1
## dunst
dunstify "notification" display a desktop notification
dunstify "Progress: " -h int:value:60 display progress bar starting at 60
## Jupyter Notebook
### Add a Virtual Environment to JN
```bash
python -m ipykernel install --user --name=[env_name]
```
### Uninstall venv from JN
```bash
jupyter kernelspec uninstall [env_name]
```
### sacad: download album artwork
```bash
sacad [artist] [album name] [size] [output_file_name]
```
### ifuse: connect to iphone filesystem
```bash
$ mkdir -p /tmp/phone/
# mount the filesystem
$ fusermount -u /tmp/phone/
# unmount the filesystem
$ ifuse /tmp/phone/
```
### mdr: markdown render in the terminal
:MarkdownRender right
### ipython: interactive python with history, dynamic object introsepction, easier configuration, command completion, access to system shell, and integration with numerical and sientific computing tools
## nvtop
top for graphics card
## rofi-mpd
```bash
rofi-mpd -h
```
## UMICH Caen
rsync -rtv path_to_your_local_file_name your_uniqname@login.engin.umich.edu:path_to_your_remote_folder
## Edit files as superuser (sudo)
sudo -e or sudoedit
## nftables: firewall
nft -s list ruleset | tee [filename]
systemctl status nftables
## i3-help-log
## lscpu
lscpu # display info about the CPU
## ps
ps -aux # list stats about processes running including cpu and memory
ps -aux --sort=%mem/%cpu # sort by memory or cpu
ps -aux --sort=-%mem # sort by memory in ascending order
## kill
kill -l # list all kill signals
## ip
ip a # show all
ip -4 addr # show ipv4 addresses
ip -6 addr # show ipv6 addresses
## sqlplus
select * from user_sequences; # list user defined sequences
select table_name from user_tables; # list user defined tables
## qemu
# create image
qemu-img create -f qcow2 Image.img 10G
# create vm with 4G of memory with X.iso and boots directly into dvd drive
qemu-system-x86_64 -enable-kvm -cdrom manjaro-awesome-20.0-200428-linux56.iso -boot order=d -drive file=Image.img -m 4G -cpu host -smp 4 -vga virtio -display sdl,gl=on
# boots into menu
qemu-system-x86_64 -enable-kvm -cdrom manjaro-awesome-20.0-200428-linux56.iso -boot menu=on -drive file=Image.img -m 4G -cpu host -smp 4 -vga virtio -display sdl,gl=on
## scp: secure cp
# copy file to remote
scp -P 88 [file] user@host:path-to-file
# copy directory to remote
scp -rp -P 88 [directory] user@host:path-to-directory
# copy from remote to local
scp remote-user@remote-host:file path-to-file
## rsync
# copied files in archive mode (recursively run on directories)
# add --delete option to have destination delete files when deleted in src
rsync -av --delete [source] [destiation]
# exclude files with --exclude='pattern' or --exclude-from='exclude_file'
# rsync over the network
## wget
# add -c argument to allow to interrupt download and resume later with -c
# -P to set local download path
## send key to server
ssh-copy-id user@host
## CAEN VNC
ssh -f -L 5951:localhost:5951 uniqname@login-course.engin.umich.edu "sleep 30"
vncviewer localhost:5951
## Anaconda
source /opt/anaconda/bin/activate /home/sudacode/anaconda3
anaconda-navigator
PostgreSQL: postgresql://scott:tiger@localhost/mydatabase
MySQL: mysql://scott:tiger@localhost/foo
Oracle: oracle://scott:tiger@127.0.0.1:1521/sidname
SQL Server: mssql+pyodbc://scott:tiger@mydsn
SQLite: sqlite:///foo.db
## Create new Application Entry
/usr/share/applications/
/usr/local/share/applications/
~/.local/share/applications/
create desktop entry like others
## mysql
sudo mysql # connect to mysql as root
create database [db_name];
grant all privileges on mydb.* to user@localhost;
grant all privileges on mysql.* to user@localhost;
flush priviliges;
## ncdu: disk usage
## baloo
balooctl # control baloo
baloosewarch [search] #search for files/folders
## nbfc: Fan Control
## thermald: CPU Frequency Scaling
## Vim-Plug
:PlugInstall # install plugins
:PlugClean # clean .vim/plugged directory
## remoteit
# screen
screen -S [session_name] start named screen session
screen -S [session_name/pid] reattach
screen -S [session_name] -d -m [command] run command in detached session
screen -ls list screens
ctrl+a d detach from session
## mpc
mpc add http://host:port add stream
mpc del [num] (0 indexed) delete from queue
mpc play play (lol)
mpc toggle
## pdfjam
pdfjam [files] --outfile [file]

217
dotfiles/.markdown.help.md Normal file
View File

@@ -0,0 +1,217 @@
# Advanced Markdown with [David Wells](https://twitter.com/DavidWells)
[Slides -> github.com/DavidWells/advanced-markdown](https://github.com/DavidWells/advanced-markdown/)
## Table of Contents
<!-- AUTO-GENERATED-CONTENT:START (TOC:collapse=true&collapseText="Click to expand") -->
<details>
<summary>"Click to expand"</summary>
- [Why markdown?](#why-markdown)
- [Markdown basics](#markdown-basics)
- [Advanced Formatting tips](#advanced-formatting-tips)
* [`left` alignment](#left-alignment)
* [`right` alignment](#right-alignment)
* [`center` alignment example](#center-alignment-example)
* [`collapse` Sections](#collapse-sections)
* [`additional links`](#additional-links)
* [Badges](#badges)
- [Useful packages](#useful-packages)
- [Useful utilities](#useful-utilities)
- [How Serverless uses markdown](#how-serverless-uses-markdown)
* [DEMO](#demo)
- [Other Markdown Resources](#other-markdown-resources)
</details>
<!-- AUTO-GENERATED-CONTENT:END -->
## Why markdown?
Markdown is a universal doc format that is easy to write and easy to add to a version control system.
- **Open** - Anyone can submit content, fix typos & update anything via pull requests
- **Version control** - Roll back & see the history of any given post
- **No CMS lock in** - We can easily port to any static site generator
- **It's just simple** - No user accounts to manage, no CMS software to upgrade, no plugins to install.
---
## Markdown basics
The basics of markdown can be found [here](https://guides.github.com/features/mastering-markdown/) & [here](https://daringfireball.net/projects/markdown/). Super easy!
## Advanced Formatting tips
### `left` alignment
<img align="left" width="100" height="100" src="http://www.fillmurray.com/100/100">
This is the code you need to align images to the left:
```
<img align="left" width="100" height="100" src="http://www.fillmurray.com/100/100">
```
---
### `right` alignment
<img align="right" width="100" height="100" src="http://www.fillmurray.com/100/100">
This is the code you need to align images to the right:
```
<img align="right" width="100" height="100" src="http://www.fillmurray.com/100/100">
```
---
### `center` alignment example
<p align="center">
<img width="460" height="300" src="http://www.fillmurray.com/460/300">
</p>
```
<p align="center">
<img width="460" height="300" src="http://www.fillmurray.com/460/300">
</p>
```
---
### `collapse` Sections
Collapsing large blocks of text can make your markdown much easier to digest
<details>
<summary>"Click to expand"</summary>
this is hidden block
</details>
```
<details>
<summary>"Click to expand"</summary>
this is hidden
</details>
```
Collapsing large blocks of Markdown text
<details>
<summary>To make sure markdown is rendered correctly in the collapsed section...</summary>
1. Put an **empty line** after the `<summary>` block.
2. *Insert your markdown syntax*
3. Put an **empty line** before the `</details>` tag
</details>
```
<details>
<summary>To make sure markdown is rendered correctly in the collapsed section...</summary>
1. Put an **empty line** after the `<summary>` block.
2. *Insert your markdown syntax*
3. Put an **empty line** before the `</details>` tag
</details>
```
---
### `additional links`
[Website](http://www.serverless.com) • [Email Updates](http://eepurl.com/b8dv4P) • [Gitter](https://gitter.im/serverless/serverless) • [Forum](http://forum.serverless.com) • [Meetups](https://github.com/serverless-meetups/main) • [Twitter](https://twitter.com/goserverless) • [Facebook](https://www.facebook.com/serverless) • [Contact Us](mailto:hello@serverless.com)
```
[Website](http://www.serverless.com) • [Email Updates](http://eepurl.com/b8dv4P) • [Gitter](https://gitter.im/serverless/serverless) • [Forum](http://forum.serverless.com) • [Meetups](https://github.com/serverless-meetups/main) • [Twitter](https://twitter.com/goserverless) • [Facebook](https://www.facebook.com/serverless) • [Contact Us](mailto:hello@serverless.com)
```
---
### Badges
I hate them so. Don't use badges.
---
## Useful packages
1. [gray-matter](https://www.npmjs.com/package/gray-matter)
YAML front-matter is your friend. You can keep metadata in markdown files
```
title: Serverless Framework Documentation
description: "Great F'in docs!"
menuText: Docs
layout: Doc
```
2. [Remark](https://www.npmjs.com/package/remark)
Useful for rendering markdown in HTML/React
3. [Markdown Magic](https://github.com/DavidWells/markdown-magic)
- [Repo](https://github.com/DavidWells/markdown-magic)
- [Plugins](https://github.com/DavidWells/markdown-magic#plugins)
- Show automatic doc generation. [Example 1](https://github.com/DavidWells/markdown-magic/blob/master/examples/generate-readme.js#L15-L23) | [Example 2](https://github.com/serverless/examples/blob/master/generate-readme.js#L71-L87)
---
## Useful utilities
1. [Schedule Posts](https://github.com/serverless/post-scheduler) - Post scheduler for static sites
Show DEMO
2. [Zero friction inline content editing](https://jekyll-anon.surge.sh/gods/2015/02/18/vesta.html)
Show DEMO
3. [Byword](https://bywordapp.com/) & [Typora](https://typora.io/) - Good Editors
4. [Monodraw](https://monodraw.helftone.com/) - Flow charts for days
6. [Kap](https://getkap.co/) - Make gifs
4. [IDE markdown preview](https://atom.io/packages/markdown-preview)
5. Stuck on WordPress? Try [easy-markdown plugin](https://github.com/DavidWells/easy-markdown)
---
## How Serverless uses markdown
Serverless.com is comprised of 3 separate repositories
- https://github.com/serverless/blog
- https://github.com/serverless/serverless | Shoutout to [Phenomic.io](https://phenomic.io/)
- https://github.com/serverless/site
**Why multiple repos?**
1. We wanted documentation about the framework to live in the serverless github repo for easy access
2. We wanted our blog content to be easily portable to any static site generator separate from the implementation (site)
3. `prebuild` npm script pulls the content together & processes them for site build
A single repo is easier to manage but harder for people to find/edit/PR content.
---
### DEMO
- Site structure
- Serverless build process
- [Validation](https://github.com/serverless/blog/blob/master/.travis.yml#L10)
- [Editing Flow](https://serverless.com/framework/docs/providers/aws/cli-reference/deploy/)
- Github optimizations
- [Link from top of each doc to live link on site](https://github.com/serverless/serverless/blob/master/docs/providers/aws/events/schedule.md)
- use markdown magic =) to [auto generate tables](https://github.com/serverless/examples) etc
- [Hide yaml frontmatter from github folks](https://github.com/serverless/serverless/blame/master/docs/providers/aws/events/schedule.md#L1-L7)
- consider linking everything to site
## Other Markdown Resources
- [Verb](https://www.npmjs.com/package/verb) - Documentation generator for GitHub projects
- [ACSII docs](http://asciidoctor.org/) - Markdown alternative

1567
dotfiles/.p10k.zsh Normal file

File diff suppressed because it is too large Load Diff

10
dotfiles/.prettierrc Normal file
View File

@@ -0,0 +1,10 @@
{
"arrowParens": "avoid",
"semi": false,
"tabWidth": 4,
"useTabs": true,
"jsxSingleQuote": true,
"printWidth": 80,
"trailingComma": "es5",
"vueIndentScriptAndStyle": true
}

21
dotfiles/.thanks.md Normal file
View File

@@ -0,0 +1,21 @@
# Attribution links
[Disable picom transparency on fullscreen](https://github.com/chjj/compton/issues/403#issuecomment-326798836)
[Firefox homepage](https://github.com/dbuxy218/Prismatic-Night#Instructions)
[Rofi tabswitcher](https://gist.github.com/thraizz/f106ead51a50d4cddf96d5d83d595014)
[Markdown with glow](https://www.reddit.com/r/ranger/comments/dzq3fq/markdown_preview/fclxhla?utm_source=share&utm_medium=web2x&context=3)
[Spotify acting slow](https://www.reddit.com/r/archlinux/comments/a7t079/spotify_having_slow_reaction_time/enbkhyl/)
[Fix one side of headphones not outputting sound](https://superuser.com/a/1281418)
[Polybar pacman/AUR update scrfipt](https://www.reddit.com/r/archlinux/comments/gwccb3/is_there_a_way_to_show_the_number_of_outdated/fsuquiy?utm_source=share&utm_medium=web2x&context=3)
[Headset microphone not working](https://superuser.com/a/1423564)
[zscroll with polybar](https://github.com/polybar/polybar/issues/353#issuecomment-273388042)
[change user password in psql](https://www.postgresqltutorial.com/postgresql-change-password/)

1231
dotfiles/.tmux.conf Executable file

File diff suppressed because it is too large Load Diff

306
dotfiles/.tmux.conf.local Normal file
View File

@@ -0,0 +1,306 @@
# https://github.com/gpakosz/.tmux
# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license,
# without any warranty.
# Copyright 2012— Gregory Pakosz (@gpakosz).
# -- navigation ----------------------------------------------------------------
# if you're running tmux within iTerm2
# - and tmux is 1.9 or 1.9a
# - and iTerm2 is configured to let option key act as +Esc
# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys
# then uncomment the following line to make Meta + arrow keys mapping work
#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D"
# -- windows & pane creation ---------------------------------------------------
# new window retains current path, possible values are:
# - true
# - false (default)
tmux_conf_new_window_retain_current_path=false
# new pane retains current path, possible values are:
# - true (default)
# - false
tmux_conf_new_pane_retain_current_path=true
# new pane tries to reconnect ssh sessions (experimental), possible values are:
# - true
# - false (default)
tmux_conf_new_pane_reconnect_ssh=false
# prompt for session name when creating a new session, possible values are:
# - true
# - false (default)
tmux_conf_new_session_prompt=false
# -- display -------------------------------------------------------------------
# RGB 24-bit colour support (tmux >= 2.2), possible values are:
# - true
# - false (default)
tmux_conf_theme_24b_colour=false
# window style
tmux_conf_theme_window_fg='default'
tmux_conf_theme_window_bg='default'
# highlight focused pane (tmux >= 2.1), possible values are:
# - true
# - false (default)
tmux_conf_theme_highlight_focused_pane=false
# focused pane colours:
tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg='#0087d7' # light blue
# pane border style, possible values are:
# - thin (default)
# - fat
tmux_conf_theme_pane_border_style=thin
# pane borders colours:
tmux_conf_theme_pane_border='#444444' # gray
tmux_conf_theme_pane_active_border='#00afff' # light blue
# pane indicator colours
tmux_conf_theme_pane_indicator='#00afff' # light blue
tmux_conf_theme_pane_active_indicator='#00afff' # light blue
# status line style
tmux_conf_theme_message_fg='#000000' # black
tmux_conf_theme_message_bg='#ffff00' # yellow
tmux_conf_theme_message_attr='bold'
# status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg='#ffff00' # yellow
tmux_conf_theme_message_command_bg='#000000' # black
tmux_conf_theme_message_command_attr='bold'
# window modes style
tmux_conf_theme_mode_fg='#000000' # black
tmux_conf_theme_mode_bg='#ffff00' # yellow
tmux_conf_theme_mode_attr='bold'
# status line style
tmux_conf_theme_status_fg='#8a8a8a' # light gray
tmux_conf_theme_status_bg='#080808' # dark gray
tmux_conf_theme_status_attr='none'
# terminal title
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_terminal_title='#h ❐ #S ● #I #W'
# window status style
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_window_status_fg='#8a8a8a' # light gray
tmux_conf_theme_window_status_bg='#080808' # dark gray
tmux_conf_theme_window_status_attr='none'
tmux_conf_theme_window_status_format='#I #W'
#tmux_conf_theme_window_status_format='#{circled_window_index} #W'
#tmux_conf_theme_window_status_format='#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}'
# window current status style
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_window_status_current_fg='#000000' # black
tmux_conf_theme_window_status_current_bg='#00afff' # light blue
tmux_conf_theme_window_status_current_attr='bold'
tmux_conf_theme_window_status_current_format='#I #W'
#tmux_conf_theme_window_status_current_format='#{circled_window_index} #W'
#tmux_conf_theme_window_status_current_format='#I #W#{?window_zoomed_flag,🔍,}'
# window activity status style
tmux_conf_theme_window_status_activity_fg='default'
tmux_conf_theme_window_status_activity_bg='default'
tmux_conf_theme_window_status_activity_attr='underscore'
# window bell status style
tmux_conf_theme_window_status_bell_fg='#ffff00' # yellow
tmux_conf_theme_window_status_bell_bg='default'
tmux_conf_theme_window_status_bell_attr='blink,bold'
# window last status style
tmux_conf_theme_window_status_last_fg='#00afff' # light blue
tmux_conf_theme_window_status_last_bg='default'
tmux_conf_theme_window_status_last_attr='none'
# status left/right sections separators
#tmux_conf_theme_left_separator_main=''
#tmux_conf_theme_left_separator_sub='|'
#tmux_conf_theme_right_separator_main=''
#tmux_conf_theme_right_separator_sub='|'
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
#tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline
#tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with
#tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone
#tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md
# status left/right content:
# - separate main sections with '|'
# - separate subsections with ','
# - built-in variables are:
# - #{battery_bar}
# - #{battery_hbar}
# - #{battery_percentage}
# - #{battery_status}
# - #{battery_vbar}
# - #{circled_session_name}
# - #{hostname_ssh}
# - #{hostname}
# - #{loadavg}
# - #{pairing}
# - #{prefix}
# - #{root}
# - #{synchronized}
# - #{uptime_y}
# - #{uptime_d} (modulo 365 when #{uptime_y} is used)
# - #{uptime_h}
# - #{uptime_m}
# - #{uptime_s}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_status_left='#{username}#{root} | #{hostname} | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} '
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} | #(curl wttr.in/Ann+Arbor?format="%%l:+%%c+%%t+%%f+%%o") , %R , %d %b | #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} '
# status left style
tmux_conf_theme_status_left_fg='#000000,#e4e4e4,#000000' # black, white , black
tmux_conf_theme_status_left_bg='#ffff00,#ff00af,#00afff, #d70000' # yellow, pink, blue, red
tmux_conf_theme_status_left_attr='bold,bold,bold'
# status right style
tmux_conf_theme_status_right_fg='#8a8a8a,#e4e4e4,#000000' # light gray, white, black
tmux_conf_theme_status_right_bg='#000000,#ff00af,#8a8a8a' # dark gray, pink, light grey
tmux_conf_theme_status_right_attr='bold,bold,bold'
# pairing indicator
tmux_conf_theme_pairing='👓 ' # U+1F453
tmux_conf_theme_pairing_fg='none'
tmux_conf_theme_pairing_bg='none'
tmux_conf_theme_pairing_attr='none'
# prefix indicator
tmux_conf_theme_prefix='⌨ ' # U+2328
tmux_conf_theme_prefix_fg='none'
tmux_conf_theme_prefix_bg='none'
tmux_conf_theme_prefix_attr='none'
# root indicator
tmux_conf_theme_root='!'
tmux_conf_theme_root_fg='none'
tmux_conf_theme_root_bg='none'
tmux_conf_theme_root_attr='bold,blink'
# synchronized indicator
tmux_conf_theme_synchronized='🔒' # U+1F512
tmux_conf_theme_synchronized_fg='none'
tmux_conf_theme_synchronized_bg='none'
tmux_conf_theme_synchronized_attr='none'
# battery bar symbols
tmux_conf_battery_bar_symbol_full='◼'
tmux_conf_battery_bar_symbol_empty='◻'
#tmux_conf_battery_bar_symbol_full='♥'
#tmux_conf_battery_bar_symbol_empty='·'
# battery bar length (in number of symbols), possible values are:
# - auto
# - a number, e.g. 5
tmux_conf_battery_bar_length='auto'
# battery bar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_full_fg,colour_empty_fg,colour_bg'
tmux_conf_battery_bar_palette='gradient'
#tmux_conf_battery_bar_palette='#d70000,#e4e4e4,#000000' # red, white, black
# battery hbar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_low,colour_half,colour_full'
tmux_conf_battery_hbar_palette='gradient'
#tmux_conf_battery_hbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green
# battery vbar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_low,colour_half,colour_full'
tmux_conf_battery_vbar_palette='gradient'
#tmux_conf_battery_vbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green
# symbols used to indicate whether battery is charging or discharging
#tmux_conf_battery_status_charging='↑' # U+2191
#tmux_conf_battery_status_discharging='↓' # U+2193
tmux_conf_battery_status_charging='⚡ ' # U+26A1
tmux_conf_battery_status_charging='🔌 ' # U+1F50C
tmux_conf_battery_status_discharging='🔋 ' # U+1F50B
# clock style (when you hit <prefix> + t)
# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right
tmux_conf_theme_clock_colour='#00afff' # light blue
tmux_conf_theme_clock_style='24'
# -- clipboard -----------------------------------------------------------------
# in copy mode, copying selection also copies to the OS clipboard
# - true
# - false (default)
# on macOS, this requires installing reattach-to-user-namespace, see README.md
# on Linux, this requires xsel or xclip
tmux_conf_copy_to_os_clipboard=false
# -- user customizations -------------------------------------------------------
# this is the place to override or undo settings
# increase history size
#set -g history-limit 10000
# start with mouse mode enabled
#set -g mouse on
# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
#set -g status-keys vi
#set -g mode-keys vi
# replace C-b by C-a instead of using both prefixes
# set -gu prefix2
# unbind C-a
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix
# move status line to top
#set -g status-position top
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'

306
dotfiles/.vimrc Normal file
View File

@@ -0,0 +1,306 @@
syntax on
set laststatus=2 "enable status bar
set number "turn on line numbers
set colorcolumn=80 "set color column on col 80
set tw=80
set shiftwidth=4
set tabstop=4
set autoindent "auto indents code
set smartindent "smart indents code
set hlsearch "highlight search
set smartcase "set search case based on search query
set noerrorbells "no error bells
set title "set title of vim based on file open
set mouse=a " enable mouse in vim
set spell "enable spell check in vim
set encoding=UTF-8
set guifont=FiraCode\ Nerd\ Font\ 18
autocmd BufNewFile *.py 0r ~/templates/skeleton.py
autocmd BufNewFile *.jsx 0r ~/templates/skeleton.jsx
autocmd BufNewFile *.tsx 0r ~/templates/skeleton.tsx
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree' | Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'valloric/youcompleteme'
Plug 'sheerun/vim-polyglot'
Plug 'vim-scripts/SQLUtilities'
Plug 'ryanoasis/vim-devicons'
Plug 'itchyny/vim-gitbranch'
Plug 'ap/vim-css-color'
Plug 'wakatime/vim-wakatime'
Plug 'itchyny/lightline.vim'
Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
Plug 'jiangmiao/auto-pairs'
Plug 'mhinz/vim-startify'
Plug 'alvan/vim-closetag'
Plug 'MathSquared/vim-python-sql'
Plug 'MaxMEllon/vim-jsx-pretty'
Plug 'tpope/vim-commentary'
Plug 'dense-analysis/ale'
Plug 'shime/vim-livedown'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug '~/.fzf'
Plug 'morhetz/gruvbox'
Plug 'dracula/vim', { 'as': 'dracula' }
Plug 'ntk148v/vim-horizon'
Plug 'ghifarit53/tokyonight-vim'
Plug 'drewtempelmeyer/palenight.vim'
Plug 'tomasr/molokai'
Plug 'joshdick/onedark.vim'
call plug#end()
"jump to remembered position in file if available
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif
"fzf
"
" This is the default extra key bindings
let g:fzf_action = {
\ 'ctrl-t': 'tab split',
\ 'ctrl-x': 'split',
\ 'ctrl-v': 'vsplit' }
" An action can be a reference to a function that processes selected lines
function! s:build_quickfix_list(lines)
call setqflist(map(copy(a:lines), '{ "filename": v:val }'))
copen
cc
endfunction
let g:fzf_action = {
\ 'ctrl-q': function('s:build_quickfix_list'),
\ 'ctrl-t': 'tab split',
\ 'ctrl-x': 'split',
\ 'ctrl-v': 'vsplit' }
"Center of screen and popup
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
" Customize fzf colors to match your color scheme
" - fzf#wrap translates this to a set of `--color` options
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
" Enable per-command history
" - History files will be stored in the specified directory
" - When set, CTRL-N and CTRL-P will be bound to 'next-history' and
" 'previous-history' instead of 'down' and 'up'.
let g:fzf_history_dir = '~/.local/share/fzf-history'
"livedown
" should markdown preview get shown automatically upon opening markdown buffer
let g:livedown_autorun = 0
" should the browser window pop-up upon previewing
let g:livedown_open = 1
" the port on which Livedown server will run
let g:livedown_port = 3001
" the browser to use, can also be firefox, chrome or other, depending on your executable
let g:livedown_browser = "firefox"
"ale
let b:ale_linter_aliases = {'javascriptreact': ['css', 'javascript'], 'typescriptreact': ['css', 'javascript']}
" Fix files with prettier, and then ESLint.
let b:ale_fixers = {'javascript': ['prettier', 'eslint'], 'sh': ['shellcheck'], 'typescript': ['eslint'], 'python': ['pycodestyle', 'pylint']}
"vim-closetag
" filenames like *.xml, *.html, *.xhtml, ...
" These are the file extensions where this plugin is enabled.
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.js,*.ts,*.jsx,*.tsx'
" filenames like *.xml, *.xhtml, ...
" This will make the list of non-closing tags self-closing in the specified files.
"
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx,*.tsx,*.js,*.ts'
" filetypes like xml, html, xhtml, ...
" These are the file types where this plugin is enabled.
"
let g:closetag_filetypes = 'html,xhtml,phtml'
" filetypes like xml, xhtml, ...
" This will make the list of non-closing tags self-closing in the specified files.
"
let g:closetag_xhtml_filetypes = 'xhtml,jsx,tsx,js'
" integer value [0|1]
" This will make the list of non-closing tags case-sensitive (e.g. `<Link>` will be closed while `<link>` won't.)
"
let g:closetag_emptyTags_caseSensitive = 1
" Disables auto-close if not in a "valid" region (based on filetype)
let g:closetag_regions = {
\ 'typescript.tsx': 'jsxRegion,tsxRegion',
\ 'javascript.jsx': 'jsxRegion',
\ }
let g:ycm_autoclose_preview_window_after_insertion = 1 "close ycm help window after accepting option
" let g:ycm_autoclose_preview_window_after_completion = 1
let g:wakatime_PythonBinary = '/usr/bin/python' " (Default: 'python')
let g:wakatime_OverrideCommandPrefix = '/usr/bin/wakatime' " (Default: '')
"Markdown preview
let vim_markdown_preview_github=1
let vim_markdown_preview_toggle=1
let vim_markdown_preview_temp_file=0
"NERDTREE
"autocmd vimenter * NERDTree "launch nerdtree on vim start
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
let g:NERDTreeWinPos = "right" "open nerdtree on the right
let NERDTreeShowHidden=0 "show hidden files use capital 'I' to toggle
"autocmd VimEnter * wincmd p "put the cursor back into the editing pane on start
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
let g:NERDTreeGitStatusUseNerdFonts = 1
" If more than one window and previous buffer was NERDTree, go back to it.
autocmd BufEnter * if bufname('#') =~# "^NERD_tree_" && winnr('$') > 1 | b# | endif
"avoid crashes when calling vim-plug functions while the cursor is on the NERDTree window
let g:plug_window = 'noautocmd vertical topleft new'
" NERDTress File highlighting
function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg)
exec 'autocmd filetype nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg
exec 'autocmd filetype nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
endfunction
"NERDTree hilight files by extension
call NERDTreeHighlightFile('jade', 'green', 'none', 'green', '#282c34')
call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#282c34')
call NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('html', 'red', 'none', 'yellow', '#282c34')
call NERDTreeHighlightFile('styl', 'cyan', 'none', 'cyan', '#282c34')
call NERDTreeHighlightFile('css', 'cyan', 'none', 'cyan', '#282c34')
call NERDTreeHighlightFile('coffee', 'Red', 'none', 'red', '#282c34')
call NERDTreeHighlightFile('js', 'yellow', 'none', '#ffa500', '#282c34')
call NERDTreeHighlightFile('jsx', 'yellow', 'none', '#ffa500', '#282c34')
call NERDTreeHighlightFile('tsx', 'yellow', 'none', '#ffa500', '#282c34')
call NERDTreeHighlightFile('php', 'Magenta', 'none', '#ff00ff', '#282c34')
call NERDTreeHighlightFile('cpp', 'blue', 'none', 'blue', '#282c34')
call NERDTreeHighlightFile('h', 'cyan', 'none', 'cyan', '#282c34')
call NERDTreeHighlightFile('txt', 'blue', 'none', 'red', '#282c34')
let g:NERDTreeColorMapCustom = {
\ "Modified" : ["#528AB3", "NONE", "NONE", "NONE"],
\ "Staged" : ["#538B54", "NONE", "NONE", "NONE"],
\ "Untracked" : ["#BE5849", "NONE", "NONE", "NONE"],
\ "Dirty" : ["#299999", "NONE", "NONE", "NONE"],
\ "Clean" : ["#87939A", "NONE", "NONE", "NONE"]
\ }
"PRETTIER
packloadall "enable prettier
let g:prettier#autoformat = 1
let g:prettier#autoformat_require_pragma = 0
let g:prettier#exec_cmd_path = "/usr/bin/prettier"
"LIGHTLINE
" 'onedark', 'material', 'darcula'
let g:lightline = {
\ 'colorscheme': 'deus',
\ 'active': {
\ 'left': [ [ 'mode', 'paste', 'gitbranch' ],
\ [ 'readonly', 'filename', 'modified', ] ],
\ 'right': [ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'charvaluehex', 'fileformat', 'fileencoding', 'filetype' ] ]
\ },
\ 'component_function': {
\ 'gitbranch': 'gitbranch#name'
\ },
\ 'component': {
\ 'charhexvalue': '0x%B'
\ },
\ }
"COLORSCHEME
if !has('gui_running')
set t_Co=256
endif
set termguicolors
set noshowmode "disable default vim insert text at bottom
let g:onedark_termcolors=256 "enable 256 colors
packadd! onedark.vim "add onedark colorcheme may not work
colorscheme onedark "set colorsheme as onedark
"Tokyo night conifg
let g:tokyonight_style='night'
let g:tokyonight_transparent_background=1
let g:tokyonight_enable_italic=1
"let g:molokai_original = 1
let g:rehash256 = 1
"KEYBINDINGS
map <C-c> :nohls<Cr>
map <F2> :NERDTreeToggle<CR>
map <C-n> :NERDTreeToggle<CR>
map <C-s> <Plug>(Prettier)
map<C-c> :nohls<CR>
map <F5> :!
map <C-T> :ter++close<CR>
map <C-D> :YcmShowDetailedDiagnostic<CR>
map <C-l> :LivedownToggle<CR>
map <C-o> :FZF ~<CR>

76
dotfiles/.xinitrc Normal file
View File

@@ -0,0 +1,76 @@
#!/bin/sh
var=$1
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
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
#export GTK_IM_MODULE=xim
#export XMODIFIERS=@im=ibus
#export QT_IM_MODULE=xim
#export ibus-daemon -drx
# start plasma session
export DESKTOP_SESSION=plasma
xscreensaver
exec startplasma-x11
exec ~/.fehbg
# exec i3
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=xim
ibus-daemon -drx
#exec cinnamon-session

101
dotfiles/.ycm_extra_conf.py Normal file
View File

@@ -0,0 +1,101 @@
# Partially stolen from https://bitbucket.org/mblum/libgp/src/2537ea7329ef/.ycm_extra_conf.py
import os
import ycm_core
# These are the compilation flags that will be used in case there's no
# compilation database set (by default, one is not set).
# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
flags = [
'-Wall',
'-Wextra',
'-Werror',
'-Wconversion',
'-pedantic',
'-Wno-long-long',
'-Wno-variadic-macros',
'-fexceptions',
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which
# language to use when compiling headers. So it will guess. Badly. So C++
# headers will be compiled as C headers. You don't want that so ALWAYS specify
# a "-std=<something>".
# For a C project, you would set this to something like 'c99' instead of
# 'c++11'.
'-std=c++17',
# ...and the same thing goes for the magic -x option which specifies the
# language that the files to be compiled are written in. This is mostly
# relevant for c++ headers.
# For a C project, you would set this to 'c' instead of 'c++'.
'-x', 'c++',
# This path will only work on OS X, but extra paths that don't exist are not
# harmful
'-isystem', '/System/Library/Frameworks/Python.framework/Headers',
'-isystem', '/usr/local/include',
'-isystem', '/usr/local/include/eigen3',
'-I', 'include',
'-I.',
]
# Set this to the absolute path to the folder (NOT the file!) containing the
# compile_commands.json file to use that instead of 'flags'. See here for
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
#
# Most projects will NOT need to set this to anything; you can just change the
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
compilation_database_folder = ''
if compilation_database_folder:
database = ycm_core.CompilationDatabase( compilation_database_folder )
else:
database = None
def DirectoryOfThisScript():
return os.path.dirname( os.path.abspath( __file__ ) )
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
if not working_directory:
return list( flags )
new_flags = []
make_next_absolute = False
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
for flag in flags:
new_flag = flag
if make_next_absolute:
make_next_absolute = False
if not flag.startswith( '/' ):
new_flag = os.path.join( working_directory, flag )
for path_flag in path_flags:
if flag == path_flag:
make_next_absolute = True
break
if flag.startswith( path_flag ):
path = flag[ len( path_flag ): ]
new_flag = path_flag + os.path.join( working_directory, path )
break
if new_flag:
new_flags.append( new_flag )
return new_flags
def FlagsForFile( filename ):
if database:
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
# python list, but a "list-like" StringVec object
compilation_info = database.GetCompilationInfoForFile( filename )
final_flags = MakeRelativePathsInFlagsAbsolute(
compilation_info.compiler_flags_,
compilation_info.compiler_working_dir_ )
else:
# relative_to = DirectoryOfThisScript()
relative_to = os.path.dirname(os.path.abspath(filename))
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
return {
'flags': final_flags,
'do_cache': True
}

359
dotfiles/.zshrc Normal file
View File

@@ -0,0 +1,359 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block, everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
#If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/home/sudacode/.oh-my-zsh"
export PATH="$HOME/scripts:$PATH"
export PATH="$HOME/Work/scripts:$PATH"
export PATH="$HOME/projects/Python/get_song/src/:$PATH"
export EDITOR=vim
export VISUAL=vim
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
#POWERLEVEL9K_MODE='nerdfont'
#POWERLEVEL9K_MODE='awesome-fontconfig'
POWERLEVEL9K_MODE='nerdfont-complete'
#POWERLEVEL9K_MODE='awesome-patched, nerdfont-complete'
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
#ZSH_THEME="powerlevel9k/powerlevel9k"
ZSH_THEME="powerlevel10k/powerlevel10k"
#ZSH_THEME="random"
#ZSH_THEME="agnoster"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS=true
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
HISTSIZE=1000
HISTFILESIZE=2000
HISTCONTROL=ignoreboth
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(zsh-autosuggestions zsh-syntax-highlighting colored-man-pages zsh-256color vi-mode)
source $ZSH/oh-my-zsh.sh
#source ~/.oh-my-zsh/plugins/git/git.plugin.zsh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='vim'
fi
# Compilation flags
export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin
# ------------------------------------- POWERLINE CONFIG ----------------------
#POWERLEVEL9K_OS_ICON_BACKGROUND="white"
#POWERLEVEL9K_OS_ICON_FOREGROUND="blue"
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_RPROMPT_ON_NEWLINE=false
#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon time battery context dir vcs newline)
#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon battery context newline dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(time status root_indicator background_jobs history)
POWERLEVEL9K_DISABLE_RPROMPT=false
POWERLEVEL9K_TIME_BACKGROUND='117'
POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
#POWERLEVEL9K_CUSTOM_NOW_PLAYING='~/.nowplaying'
#POWERLEVEL9K_CUSTOM_NOW_PLAYING_BACKGROUND='blue'
#POWERLEVEL9K_CUSTOM_NOW_PLAYING_FOREGROUND='black'
# Icons
OS_ICON=' Yawnick boi: ﴑ'
POWERLEVEL9K_OS_ICON_BACKGROUND='208'
POWERLEVEL9K_OS_ICON_FOREGROUND='000'
POWERLEVEL9K_VCS_GIT_GITHUB_ICON=' '
POWERLEVEL9K_USER_ICON="\uF415" # 
POWERLEVEL9K_USER_DEFAULT_BACKGROUND='199'
zsh_wifi_signal(){
local signal=$(nmcli device wifi | grep yes | awk '{print $8}')
local color='%F{yellow}'
[[ $signal -gt 75 ]] && color='%F{green}'
[[ $signal -lt 50 ]] && color='%F{red}'
echo -n "%{$color%}\uf230 $signal%{%f%}" # \uf230 is 
}
POWERLEVEL9K_CUSTOM_WIFI_SIGNAL="zsh_wifi_signal"
#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon time user dir vcs virtualenv)
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(battery user dir vcs virtualenv)
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='↱'
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='↳  Yawnick boi : ﴑ '
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX_BACKGROUND='208'
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX_FOREGROUND='000'
#POWERLEVEL9K_TIME_FORMAT="%D{%H:%M:%S \uE868 %d.%m.%y}"
# set battery stages and colors
POWERLEVEL9K_BATTERY_STAGES=(
$'▏ ▏' $'▎ ▏' $'▍ ▏' $'▌ ▏' $'▋ ▏' $'▊ ▏' $'▉ ▏' $'█ ▏'
$'█▏ ▏' $'█▎ ▏' $'█▍ ▏' $'█▌ ▏' $'█▋ ▏' $'█▊ ▏' $'█▉ ▏' $'██ ▏'
$'██ ▏' $'██▎ ▏' $'██▍ ▏' $'██▌ ▏' $'██▋ ▏' $'██▊ ▏' $'██▉ ▏' $'███ ▏'
$'███ ▏' $'███▎ ▏' $'███▍ ▏' $'███▌ ▏' $'███▋ ▏' $'███▊ ▏' $'███▉ ▏' $'████ ▏'
$'████ ▏' $'████▎▏' $'████▍▏' $'████▌▏' $'████▋▏' $'████▊▏' $'████▉▏' $'█████▏' )
POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND=(red3 darkorange3 darkgoldenrod gold3 yellow3 chartreuse2 mediumspringgreen green3 green3 green4 darkgreen)
POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND=green3
POWERLEVEL9K_BATTERY_LOW_FOREGROUND='226'
POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND='021'
POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND='021'
POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
POWERLEVEL9K_BATTERY_VERBOSE=true
# Set 'context' segment colors
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND='010'
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND='128'
# Set directory icons
POWERLEVEL9K_HOME_ICON='🏠'
POWERLEVEL9K_HOME_SUB_ICON='📂'
# Set dir path colors
#POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='033'
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND='016'
POWERLEVEL9K_DIR_HOME_BACKGROUND='033'
POWERLEVEL9K_DIR_HOME_FOREGROUND='016'
POWERLEVEL9K_DIR_PATH_HILIGHT_FOREGROUND='000'
POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='033'
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND='016'
POWERLEVEL9K_DIR_NOT_WRITABLE_BACKGROUND='196'
POWERLEVEL9K_DIR_NOT_WRITABLE_FOREGROUND='016'
# Git configurations
POWERLEVEL9K_SHOW_CHANGESET=true
POWERLEVEL9K_VCS_CLEAN_FOREGROUND='233'
#POWERLEVEL9K_VCS_CLEAN_BACKGROUND='black'
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='033'
#POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='black'
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='197'
#POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='black'
#! -----------------------------------END OF POWERLEVEL CONFIG------------------
#LS_COLORS="di=42;1;30:*.mp3=1;32;41:fi=0;91:*.c=1;96:*.js=1;93:*.h=1;35:ex=1;32:*.html=1;36:*.cpp=1;96:*.txt=1;91:*Makefile=1;35:*.css=1;36:*.as=1;36:ow=1;42;93:*.ttf=0;91:*.png=0;91:*README=4;31:*.jpg=0;91:*.md=4;31:*.json=1;94:*.as=0;35:*.obj=0;35:*.correct=1;94"
LS_COLORS="di=42;1;94:*.mp3=1;32;41:fi=0;91:*.c=1;96:*.js=1;93:*.h=1;35:ex=1;32:*.html=1;36:*.cpp=1;96:*.txt=1;91:*Makefile=1;95:*.css=1;36:*.as=1;36:ow=1;42;93:*.ttf=0;91:*.png=0;91:*README=4;31:*.jpg=0;91:*.md=4;31:*.json=1;94:*.as=0;35:*.obj=0;35:*.correct=1;94"
# # ex = EXtractor for all kinds of archives
# # 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 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# Codi
# Usage: codi [filetype] [filename]
codi() {
local syntax="${1:-python}"
shift
vim -c \
"let g:startify_disable_at_vimenter = 1 |\
set bt=nofile ls=0 noru nonu nornu |\
hi ColorColumn ctermbg=NONE |\
hi VertSplit ctermbg=NONE |\
Codi $syntax" "$@"
}
### for use with xserver... causes screenfetch and neofetch to not work unless xserver is running
#export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
#
#sudo /etc/init.d/dbus start &> /dev/null
PS2="===>"
# Add gem to PATH
export PATH=$PATH:/home/sudacode/.gem/ruby/2.7.0/bin
# Add go to PATH
export PATH=$PATH:/home/sudacode/go/bin
alias freud='cd /home/sudacode/'
# Add yarn to PATH
export PATH="$PATH:`yarn global bin`"
# set terminal color to 256 color
export TERM=xterm-256color
export PATH=$PATH:/home/sudacode/.local/bin
# add emacs to path
export PATH=$PATH:/home/sudacode/.emacs.d/bin
#Enable tab completions for flags in colorls
source $(dirname $(gem which colorls))/tab_complete.sh
# add pythno to PATH
export PATH="$PATH:/usr/bin/python"
# add jdk-8 to path
export PATH="$PATH:/usr/lib/jvm/java-8-openjdk/bin"
export CLASSPATH="$CLASSPATH:/usr/share/java/mariadb-jdbc/mariadb-java-client.jar"
## ibus config
export GTK_IM_MODULE=ibus
# will make libreoffice work
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
export QT4_IM_MODULE=xim
ibus-daemon -drx
export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules
export GTK_IM_MODULE_FILE=/usr/lib/gtk-3.0/3.0.0/immodules.cache
export VISUAL=vim
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
export ORACLE_HOME=/usr
export TNS_ADMIN=/etc/tnsnames.ora
export GDK_SCALE=2
# rdesktop use cursor
# export XCURSOR_DISCOVER=1 rdesktop
# set qt scale factor
export QT_AUTO_SCREEN_SCALE_FACTOR=1.5
# export QT_FONT_DPI=196 vym
# source the Xmodmap file to get custom keybindings
# [[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# ~/scripts/random_starter.sh
# >>> conda initialize >>>
# # !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/home/sudacode/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
# eval "$__conda_setup"
# else
# if [ -f "/home/sudacode/anaconda3/etc/profile.d/conda.sh" ]; then
# . "/home/sudacode/anaconda3/etc/profile.d/conda.sh"
# else
# export PATH="/home/sudacode/anaconda3/bin:$PATH"
# fi
# fi
# unset __conda_setup
# # <<< conda initialize <<<