diff options
author | Vikas Kushwaha <dev@vikas.rocks> | 2024-11-21 13:30:52 +0530 |
---|---|---|
committer | Vikas Kushwaha <dev@vikas.rocks> | 2024-11-21 13:30:52 +0530 |
commit | 5c916d69d457101326803eb076a746060e3618cf (patch) | |
tree | d6fce3256eede1c1bf78fb6a1be75b9cc4b84cee /.config/shell |
Moved from github
Diffstat (limited to '.config/shell')
-rw-r--r-- | .config/shell/aliasrc | 85 | ||||
-rw-r--r-- | .config/shell/bm-dirs | 51 | ||||
-rw-r--r-- | .config/shell/bm-files | 28 | ||||
-rw-r--r-- | .config/shell/inputrc | 38 | ||||
-rw-r--r-- | .config/shell/profile | 268 |
5 files changed, 470 insertions, 0 deletions
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc new file mode 100644 index 0000000..1c4c7fc --- /dev/null +++ b/.config/shell/aliasrc @@ -0,0 +1,85 @@ +#!/bin/sh + +# Common operations +alias xx='chmod u+x' +alias x-='chmod -x' +alias th='touch' +alias md='mkdir' +alias s='sudo' +alias l='ls -A' +alias ll='ls -al' +# open +alias o='${OPENER:-xdg-open}' +alias e='${EDITOR:-vi}' +alias se='sudoedit' +alias lf='lfcd' +alias rs='exec $SHELL' +alias sr='e "$(ff -L ~/.config ~/.local/bin ~/bin)"' +alias fh='fzf --tac < "${XDG_DATA_HOME:-$HOME/.local/share}/openhist"' + +alias uc='cd ~ && gitpush' + +lt() { tree -aC "$@" | less -rF; } +dul() { du -ahd 1 "$@" | sort -h | less -FX; } +v() { LESSOPEN="|preview %s" less -r -F "${1:-.}"; } +ff() { find "$@" ! -wholename '*.git*' \( -type d -printf '%p/\n' , ! -type d -print \) | + FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS $fo" fzf -m; } +senv() { source "${XDG_DATA_HOME:-$HOME/.local/share}/virtualenvs/${1:-main}/bin/activate"; } + +sudoedit() { + if command -V vim >/dev/null; then + [ -f "$HOME/.vim/vimrc" ] && VIMRC="$HOME/.vim/vimrc" + sudo vim -u "${VIMRC:-$HOME/.vimrc}" "$@" + elif command -V nvim >/dev/null; then + sudo nvim -u "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim" "$@" + else + command sudoedit "$@" + fi +} + +lfcd () { + [ $# -gt 0 ] && [ -z "$1" ] && return 2 + # cd "$(command lf -print-last-dir "$@")" + + tmp="$(mktemp)" + command lf -last-dir-path="$tmp" "$@" + if [ -f "$tmp" ]; then + dir="$(cat "$tmp")" + rm -f "$tmp" + [ -d "$dir" ] || return + [ "$dir" != "$PWD" ] || return + cd "$dir" + fi +} + +# Dirs +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' +alias .....='cd ../../../..' +alias ......='cd ../../../../..' + +alias 1='pushd -1' +alias 2='pushd -2' +alias 3='pushd -3' +alias 4='pushd -4' +alias 5='pushd -5' +alias 6='pushd -6' +alias 7='pushd -7' +alias 8='pushd -8' +alias 9='pushd -9' + +## Default options +alias rm='rm -Iv' +alias cp='cp -iv' +alias mv='mv -iv' +alias du='du -h' +alias mkdir='mkdir -pv' +alias watch='watch -c -n 1 ' +alias wget='wget -c' +alias fzf='fzf --ansi' +alias diff='diff --color=auto' +alias grep='grep --color=auto' +alias tree='tree -C' +alias ls='ls -h --group-directories-first --color=auto --classify=auto' +alias info='info --vi-keys --init-file ~/.config/infokey' diff --git a/.config/shell/bm-dirs b/.config/shell/bm-dirs new file mode 100644 index 0000000..4918a18 --- /dev/null +++ b/.config/shell/bm-dirs @@ -0,0 +1,51 @@ +# You can add comments to these files with # +cac ${XDG_CACHE_HOME:-$HOME/.cache} +cg ${XDG_CONFIG_HOME:-$HOME/.config} +lsh ${XDG_DATA_DIR:-$HOME/.local/share} +vnv ${XDG_DATA_DIR:-$HOME/.local/share}/virtualenvs +lsr ${XDG_DATA_DIR:-$HOME/.local/src} +lst ${XDG_DATA_DIR:-$HOME/.local/state} +dn ${XDG_DOWNLOAD_DIR:-$HOME/Downloads} +dx ${XDG_DOCUMENTS_DIR:-$HOME/Documents} +dl ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/latex +nt ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/Notes +ms ${XDG_MUSIC_DIR:-$HOME/Music} +px ${XDG_PICTURES_DIR:-$HOME/Pictures} +vd ${XDG_VIDEOS_DIR:-$HOME/Videos} + +lb ~/.local/bin +bn ~/bin +sd ~/sdcard +rp ~/repos +ap ~/Applications +ad ~/Arduino +dv ~/Dev +cm ~/Dev/cloud-maker +cs ~/Dev/sites/csstudent41.github.io +vr ~/Dev/sites/vikas.rocks +vrc ~/Dev/sites/vikas.rocks/content +vrl ~/Dev/sites/vikas.rocks/layouts +vrp ~/Dev/sites/vikas.rocks/public +td ~/Dev/test +gd ~/GDrive/vartak/CS +gf ~/GDrive/vartak/CS/practical-files/sem5 +gp ~/GDrive/vartak/CS/practical-notes/sem5 +gz ~/GDrive/vartak/CS/practical-zip/sem5 +gn ~/GDrive/vartak/CS/notes/sem5 +rs ~/GDrive/vartak/results +ph ~/Phone +stv ~/Phone/.stversions +pw ~/Phone/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp\ Documents + +mn /mnt +stg ${STORAGE:-/mnt/storage} +lr ${STORAGE:-/mnt/storage}/Library +med ${STORAGE:-/mnt/storage}/Media +sts ${STORAGE:-/mnt/storage}/sites +sd /sdcard +mp /run/media/$USER/ +mtp /run/user/1000/gvfs +usr ${PREFIX:-/usr} +ush /usr/share +usd /usr/share/doc +usha /usr/share/applications diff --git a/.config/shell/bm-files b/.config/shell/bm-files new file mode 100644 index 0000000..46723a5 --- /dev/null +++ b/.config/shell/bm-files @@ -0,0 +1,28 @@ +# These files automatically update when edited/saved in vim: + +# keys filename description +bf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files +bd ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs + +pf ~/.profile +zp ~/.zprofile +xp ~/.xprofile +gi ~/.gitignore +zc ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zshrc +zh ${XDG_DATA_HOME:-$HOME/.config}/zsh/history +za ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc +arc ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc +spf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/server.profile +lc ${XDG_CONFIG_HOME:-$HOME/.config}/lf/lfrc +sx ${XDG_CONFIG_HOME:-$HOME/.config}/sxiv/exec/key-handler +in ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim +ac ${XDG_CONFIG_HOME:-$HOME/.config}/alacritty/alacritty.toml +xr ${XDG_CONFIG_HOME:-$HOME/.config}/X11/Xresources +xi ${XDG_CONFIG_HOME:-$HOME/.config}/X11/xinitrc +mm ${XDG_CONFIG_HOME:-$HOME/.config}/mimeapps.list +ssc ~/.ssh/config +csh ~/Dev/csstudent41.github.io/layouts/_default/home.html +qn ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/QuickNote.md +bm ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/bookmarks.txt +akn ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/ak47.txt +li ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/latex/lorem-ipsum.txt diff --git a/.config/shell/inputrc b/.config/shell/inputrc new file mode 100644 index 0000000..4f7c652 --- /dev/null +++ b/.config/shell/inputrc @@ -0,0 +1,38 @@ +set editing-mode vi +set keymap vi-insert +RETURN: "\e\n" +# set vi-ins-mode-string "+" +# set vi-cmd-mode-string ":" +# Add colorful command mode string +# set vi-cmd-mode-string "\1\e[1;31m\2:\1\e[0m\2" +# Change cursor bar -> insert mode block -> command mode +set vi-ins-mode-string \1\e[6 q\2 +set vi-cmd-mode-string \1\e[2 q\2 + + +set show-mode-in-prompt on +set show-all-if-ambiguous on +set completion-ignore-case on +set menu-complete-display-prefix on + +"\C-a": beginning-of-line +"\C-b": backward-char +"\C-d": delete-char +"\C-e": end-of-line +"\C-f": forward-char +"\C-h": backward-delete-char +"\C-k": kill-line +"\C-l": clear-screen +"\C-n": history-search-forward +"\C-p": history-search-backward + +# "\e-b": backward-word +# "\e-f": forward-word + +# "(": "\C-v()\C-b" +# "[": "\C-v[]\C-b" +# "{": "\C-v{}\C-b" +# "\"": "\C-v\"\C-v\"\C-b" +# Single quote (') +# "\047": "\C-v\047\C-v\047\C-b" +"jk": vi-movement-mode diff --git a/.config/shell/profile b/.config/shell/profile new file mode 100644 index 0000000..1393c45 --- /dev/null +++ b/.config/shell/profile @@ -0,0 +1,268 @@ +#!/bin/sh + +export OPENER="open" +export PAGER="less" +export EDITOR="nvim" +export BROWSER="w3m" +export FILES="lf" +export TERMINAL="st" +export PREVIEWER="preview" + +XDG_CONFIG_HOME="$HOME/.config" +XDG_DATA_HOME="$HOME/.local/share" +XDG_STATE_HOME="$HOME/.local/state" +XDG_CACHE_HOME="$HOME/.cache" + +export MOUNTPATH="/run/media/$USER" +export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter" +export W3M_DIR="$XDG_CONFIG_HOME/w3m" +export NCFTPDIR="$XDG_DATA_HOME/ncftp" +export PASSWORD_STORE_DIR="$HOME/Phone/Backup/pass" +export ANDROID_USER_HOME="$XDG_DATA_HOME/android" +export __GL_SHADER_DISK_CACHE_PATH="$HOME/.cache/nv" + +export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" +export ZDOTDIR="$XDG_CONFIG_HOME/zsh" +export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc" +export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" +export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc" +export IPYTHONDIR="$XDG_CONFIG_HOME/ipython" +export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch/config" +export MBSYNCRC="$XDG_CONFIG_HOME/isyncrc" + +export LESSHISTFILE="$XDG_DATA_HOME/less/history" +export FZF_HIST_FILE="$XDG_DATA_HOME/fzf/history" +export SDCV_HISTFILE="$XDG_DATA_HOME/sdcv" +export R_ENVIRON_USER="$XDG_DATA_HOME/R/.Renviron" +export SSH_AUTH_SOCK="$HOME/.ssh/ssh_auth_sock" +export GOPATH="$XDG_DATA_HOME/go" +export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" + +# program configuration +export LESS='-Rf --mouse --use-color -Dd+r$Du+b$' +export LESSOPEN='|lessopen.sh %s' +export GROFF_NO_SGR=1 +export GTK_IM_MODULE='fcitx' +export QT_IM_MODULE='fcitx' +export SDL_IM_MODULE='fcitx' +export XMODIFIERS='@im=fcitx' +export QT_QPA_PLATFORMTHEME='qt5ct' +export QT_FONT_DPI=112 +export SDCV_PAGER='less -R --quit-if-one-screen' +export HTTP_HOME='https://www.duckduckgo.com' +export CHROME_EXECUTABLE='chromium' +export FZF_DEFAULT_COMMAND="find -L . ! -wholename '*.git*' \( -type d -printf '%p/\n' , ! -type d -print \)" +export FZF_DEFAULT_OPTS=" + --history='$XDG_DATA_HOME/fzf/history' + --preview='\$PREVIEWER {}' --preview-window=hidden + --bind 'ctrl-s:toggle-sort' + --bind 'ctrl-y:execute-silent(printf \"%s\\\n\" {+} | xsel --clipboard)' + --bind 'ctrl-v:toggle-preview,ctrl-space:toggle-preview' + --bind 'alt-space:toggle-preview,alt-w:toggle-preview-wrap' + --bind 'alt-enter:print-query' + --bind 'ctrl-alt-c:change-preview-window(up|left:50%|down|right:50%)' + --bind 'ctrl-alt-a:select-all,ctrl-alt-d:deselect-all' + --bind 'alt-n:half-page-down,alt-p:half-page-up' + --bind 'alt-N:page-down,alt-P:page-up' + --bind 'alt-<:first,alt->:last' + --bind 'alt-J:preview-down,alt-K:preview-up' + --bind 'alt-j:preview-half-page-down,alt-k:preview-half-page-up' + --bind 'alt-l:preview-page-down,alt-h:preview-page-up' + --bind 'alt-H:preview-top,alt-L:preview-bottom' + --bind 'alt-g:preview-top,alt-G:preview-bottom' + --bind 'alt-s:execute(dmenu-send {})' + --bind 'alt-0:change-preview(echo {})' + --bind 'alt-1:change-preview(highlight --out-format=ansi -- {} 2>/dev/null || + ls -Als --group-directories-first --color=always --classify=always -- {})' + --bind 'alt-2:change-preview(\$PREVIEWER {})' + --bind 'alt-9:change-preview(printf \"%s\\\n\" {+})' + --bind 'alt-!:execute(less {})' + --bind 'alt-@:execute(\$PREVIEWER {} | less)' + --bind 'alt-v:execute(echo {q} >> \"$FZF_HIST_FILE\"; LESSOPEN=\"|preview %s\" less {})' + --bind 'alt-e:execute(echo {q} >> \"$FZF_HIST_FILE\"; eval \"\${EDITOR:-vi} {}\")' + --bind 'ctrl-o:execute(echo {q} >> \"$FZF_HIST_FILE\"; eval \"\${OPENER:-xdg-open} {}\")' + --bind 'alt-O:execute(echo {q} >> \"$FZF_HIST_FILE\"; mimeopen --ask {})' + --bind 'alt-o:execute(echo {q} >> \"$FZF_HIST_FILE\"; eval \"\${FILES:-lf} {}\")' + --bind 'alt-D:become(echo {q} >> \"$FZF_HIST_FILE\"; dirname {} )' + " + +## Custom themes for GTypist +# export GTYPIST_OPTS="--color 3,0 --banner-color 0,1,2,3" # red-yellow +# export GTYPIST_OPTS="--color 3,0 --banner-colors 0,2,4,1" # green-yellow +export GTYPIST_OPTS="--color 6,0 --banner-color 0,4,5,1" # blue-cyan + + +# # path +# find -L ~/.local/share/gem/ruby/3.0.0/bin ~/.local/bin ~/bin \ +# -type d ! -wholename '*/.st*' | +# while read -r dir; do +# [ "$PATH" = "${PATH#*"$dir"}" ] && export PATH="$dir:$PATH" +# done + +if [ "$PATH" = "${PATH#*"$HOME/.local/bin"}" ]; then + _build_path() { find -L "$@" -type d ! -wholename '*/.st*' ! -wholename '*.git*' -printf '%p:'; } + [ -d ~/bin ] && export PATH="$(_build_path ~/bin)$PATH" + [ -d ~/.local/bin ] && export PATH="$(_build_path ~/.local/bin)$PATH" + export PATH="$PATH:$XDG_DATA_HOME/gem/ruby/3.0.0/bin" + export PATH="$PATH:$HOME/Applications/flutter/bin" +fi + +[ -n "$TERMUX_VERSION" ] && { + export STORAGE="$HOME/storage" +} + +export BLOCK_COLOR_LEVEL1="#66FF99" +export BLOCK_COLOR_LEVEL2="#AAEE66" +export BLOCK_COLOR_LEVEL3="#CCCC33" +export BLOCK_COLOR_LEVEL4="#FF7733" +export BLOCK_COLOR_LEVEL5="#FF3333" + +LS_COLORS='rs=0:\ +di=01;34:\ +ln=01;36:\ +mh=00:\ +pi=40;33:\ +so=01;35:\ +do=01;35:\ +bd=40;33;01:\ +cd=40;33;01:\ +or=40;31;01:\ +mi=00:\ +su=37;41:\ +sg=30;43:\ +ca=00:\ +tw=30;42:\ +ow=34;42:\ +st=37;44:\ +ex=01;32:\ +*.tar=01;31:\ +*.tgz=01;31:\ +*.arc=01;31:\ +*.arj=01;31:\ +*.taz=01;31:\ +*.lha=01;31:\ +*.lz4=01;31:\ +*.lzh=01;31:\ +*.lzma=01;31:\ +*.tlz=01;31:\ +*.txz=01;31:\ +*.tzo=01;31:\ +*.t7z=01;31:\ +*.zip=01;31:\ +*.z=01;31:\ +*.dz=01;31:\ +*.gz=01;31:\ +*.lrz=01;31:\ +*.lz=01;31:\ +*.lzo=01;31:\ +*.xz=01;31:\ +*.zst=01;31:\ +*.tzst=01;31:\ +*.bz2=01;31:\ +*.bz=01;31:\ +*.tbz=01;31:\ +*.tbz2=01;31:\ +*.tz=01;31:\ +*.deb=01;31:\ +*.rpm=01;31:\ +*.jar=01;31:\ +*.war=01;31:\ +*.ear=01;31:\ +*.sar=01;31:\ +*.rar=01;31:\ +*.alz=01;31:\ +*.ace=01;31:\ +*.zoo=01;31:\ +*.cpio=01;31:\ +*.7z=01;31:\ +*.rz=01;31:\ +*.cab=01;31:\ +*.wim=01;31:\ +*.swm=01;31:\ +*.dwm=01;31:\ +*.esd=01;31:\ +*.avif=01;35:\ +*.jpg=01;35:\ +*.jpeg=01;35:\ +*.mjpg=01;35:\ +*.mjpeg=01;35:\ +*.gif=01;35:\ +*.bmp=01;35:\ +*.pbm=01;35:\ +*.pgm=01;35:\ +*.ppm=01;35:\ +*.tga=01;35:\ +*.xbm=01;35:\ +*.xpm=01;35:\ +*.tif=01;35:\ +*.tiff=01;35:\ +*.png=01;35:\ +*.svg=01;35:\ +*.svgz=01;35:\ +*.mng=01;35:\ +*.pcx=01;35:\ +*.mov=01;35:\ +*.mpg=01;35:\ +*.mpeg=01;35:\ +*.m2v=01;35:\ +*.mkv=01;35:\ +*.webm=01;35:\ +*.webp=01;35:\ +*.ogm=01;35:\ +*.mp4=01;35:\ +*.m4v=01;35:\ +*.mp4v=01;35:\ +*.vob=01;35:\ +*.qt=01;35:\ +*.nuv=01;35:\ +*.wmv=01;35:\ +*.asf=01;35:\ +*.rm=01;35:\ +*.rmvb=01;35:\ +*.flc=01;35:\ +*.avi=01;35:\ +*.fli=01;35:\ +*.flv=01;35:\ +*.gl=01;35:\ +*.dl=01;35:\ +*.xcf=01;35:\ +*.xwd=01;35:\ +*.yuv=01;35:\ +*.cgm=01;35:\ +*.emf=01;35:\ +*.ogv=01;35:\ +*.ogx=01;35:\ +*.aac=00;36:\ +*.au=00;36:\ +*.flac=00;36:\ +*.m4a=00;36:\ +*.mid=00;36:\ +*.midi=00;36:\ +*.mka=00;36:\ +*.mp3=00;36:\ +*.mpc=00;36:\ +*.ogg=00;36:\ +*.ra=00;36:\ +*.wav=00;36:\ +*.oga=00;36:\ +*.opus=00;36:\ +*.spx=00;36:\ +*.xspf=00;36:\ +*~=00;90:\ +*#=00;90:\ +*.bak=00;90:\ +*.old=00;90:\ +*.orig=00;90:\ +*.part=00;90:\ +*.rej=00;90:\ +*.swp=00;90:\ +*.tmp=00;90:\ +*.dpkg-dist=00;90:\ +*.dpkg-old=00;90:\ +*.ucf-dist=00;90:\ +*.ucf-new=00;90:\ +*.ucf-old=00;90:\ +*.rpmnew=00;90:\ +*.rpmorig=00;90:\ +*.rpmsave=00;90:\ +'; |