From ff6c9b939003081531d6237f5945b18fb2df89f9 Mon Sep 17 00:00:00 2001 From: Siddharth More Date: Sat, 15 May 2021 20:14:50 +0530 Subject: [PATCH 01/21] Added my aliases --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index b2b13b9..ee3d691 100644 --- a/.zshrc +++ b/.zshrc @@ -212,3 +212,8 @@ corona() { curl "https://corona-stats.online" fi } + +for file in ~/.aliases; do + [ -r "$file" ] && [ -f "$file" ] && source "$file"; +done; +unset file; \ No newline at end of file From e5ad7628a6b4c7348033055468e8c154761a990a Mon Sep 17 00:00:00 2001 From: Siddharth More Date: Fri, 11 Jun 2021 12:38:33 +0530 Subject: [PATCH 02/21] Changed install directory --- .zshrc | 2 +- quickz.sh | 84 +++++++++++++++++++++++++++---------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.zshrc b/.zshrc index b2b13b9..21d767c 100644 --- a/.zshrc +++ b/.zshrc @@ -3,7 +3,7 @@ export TERM="xterm-256color" # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. - export ZSH=$HOME/.oh-my-zsh +export ZSH=$HOME/.config/oh-my-zsh # Set name of the theme to load. Optionally, if you set this to "random" # it'll load a random theme each time that oh-my-zsh is loaded. diff --git a/quickz.sh b/quickz.sh index b2e10c4..3678507 100755 --- a/quickz.sh +++ b/quickz.sh @@ -17,39 +17,39 @@ fi echo -e "Installing oh-my-zsh\n" -if [ -d ~/.oh-my-zsh ]; then +if [ -d ~/.config/oh-my-zsh ]; then echo -e "oh-my-zsh is already installed\n" else - git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh + git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.config/oh-my-zsh fi cp -f .zshrc ~/ -mkdir -p ~/.quickzsh # external plugins, things, will be instlled in here +mkdir -p ~/.config/quickzsh # external plugins, things, will be instlled in here -if [ -d ~/.oh-my-zsh/plugins/zsh-autosuggestions ]; then - cd ~/.oh-my-zsh/plugins/zsh-autosuggestions && git pull +if [ -d ~/.config/oh-my-zsh/plugins/zsh-autosuggestions ]; then + cd ~/.config/oh-my-zsh/plugins/zsh-autosuggestions && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions + git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.config/oh-my-zsh/plugins/zsh-autosuggestions fi -if [ -d ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then - cd ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull +if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then + cd ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting + git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting fi -if [ -d ~/.oh-my-zsh/custom/plugins/zsh-completions ]; then - cd ~/.oh-my-zsh/custom/plugins/zsh-completions && git pull +if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-completions ]; then + cd ~/.config/oh-my-zsh/custom/plugins/zsh-completions && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions + git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.config/oh-my-zsh/custom/plugins/zsh-completions fi -if [ -d ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then - cd ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search && git pull +if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then + cd ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search + git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search fi @@ -63,54 +63,54 @@ wget -q --show-progress -N https://github.com/ryanoasis/nerd-fonts/raw/master/pa fc-cache -fv ~/.fonts -if [ -d ~/.oh-my-zsh/custom/themes/powerlevel10k ]; then - cd ~/.oh-my-zsh/custom/themes/powerlevel10k && git pull +if [ -d ~/.config/oh-my-zsh/custom/themes/powerlevel10k ]; then + cd ~/.config/oh-my-zsh/custom/themes/powerlevel10k && git pull else - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/oh-my-zsh/custom/themes/powerlevel10k fi -if [ -d ~/.quickzsh/fzf ]; then - cd ~/.quickzsh/fzf && git pull - ~/.quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 +if [ -d ~/.~/.config/quickzsh/fzf ]; then + cd ~/.config/quickzsh/fzf && git pull + ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 else - git clone --depth 1 https://github.com/junegunn/fzf.git ~/.quickzsh/fzf - ~/.quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 + git clone --depth 1 https://github.com/junegunn/fzf.git ~/.config/quickzsh/fzf + ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 fi -if [ -d ~/.oh-my-zsh/custom/plugins/k ]; then - cd ~/.oh-my-zsh/custom/plugins/k && git pull +if [ -d ~/.config/oh-my-zsh/custom/plugins/k ]; then + cd ~/.config/oh-my-zsh/custom/plugins/k && git pull else - git clone --depth 1 https://github.com/supercrabtree/k ~/.oh-my-zsh/custom/plugins/k + git clone --depth 1 https://github.com/supercrabtree/k ~/.config/oh-my-zsh/custom/plugins/k fi -if [ -d ~/.quickzsh/marker ]; then - cd ~/.quickzsh/marker && git pull +if [ -d ~/.config/quickzsh/marker ]; then + cd ~/.config/quickzsh/marker && git pull else - git clone --depth 1 https://github.com/pindexis/marker ~/.quickzsh/marker + git clone --depth 1 https://github.com/pindexis/marker ~/.config/quickzsh/marker fi -if ~/.quickzsh/marker/install.py; then +if ~/.config/quickzsh/marker/install.py; then echo -e "Installed Marker\n" else echo -e "Marker Installation Had Issues\n" fi -# if git clone --depth 1 https://github.com/todotxt/todo.txt-cli.git ~/.quickzsh/todo; then : +# if git clone --depth 1 https://github.com/todotxt/todo.txt-cli.git ~/.config/quickzsh/todo; then : # else -# cd ~/.quickzsh/todo && git fetch --all && git reset --hard origin/master +# cd ~/.config/quickzsh/todo && git fetch --all && git reset --hard origin/master # fi -# mkdir ~/.quickzsh/todo/bin ; cp -f ~/.quickzsh/todo/todo.sh ~/.quickzsh/todo/bin/todo.sh # cp todo.sh to ./bin so only it is included in $PATH +# mkdir ~/.config/quickzsh/todo/bin ; cp -f ~/.config/quickzsh/todo/todo.sh ~/.config/quickzsh/todo/bin/todo.sh # cp todo.sh to ./bin so only it is included in $PATH # #touch ~/.todo/config # needs it, otherwise spits error , yeah a bug in todo -# ln -s ~/.quickzsh/todo ~/.todo -if [ ! -L ~/.quickzsh/todo/bin/todo.sh ]; then - echo -e "Installing todo.sh in ~/.quickzsh/todo\n" - mkdir -p ~/.quickzsh/todo/bin - wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.quickzsh/ - tar xvf ~/.quickzsh/todo.txt_cli-2.11.0.tar.gz -C ~/.quickzsh/todo --strip 1 && rm ~/.quickzsh/todo.txt_cli-2.11.0.tar.gz - ln -s ~/.quickzsh/todo/todo.sh ~/.quickzsh/todo/bin/todo.sh # so only .../bin is included in $PATH - ln -s ~/.quickzsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config +# ln -s ~/.config/quickzsh/todo ~/.todo +if [ ! -L ~/.config/quickzsh/todo/bin/todo.sh ]; then + echo -e "Installing todo.sh in ~/.config/quickzsh/todo\n" + mkdir -p ~/.config/quickzsh/todo/bin + wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.config/quickzsh/ + tar xvf ~/.config/quickzsh/todo.txt_cli-2.11.0.tar.gz -C ~/.config/quickzsh/todo --strip 1 && rm ~/.config/quickzsh/todo.txt_cli-2.11.0.tar.gz + ln -s ~/.config/quickzsh/todo/todo.sh ~/.config/quickzsh/todo/bin/todo.sh # so only .../bin is included in $PATH + ln -s ~/.config/quickzsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config else - echo -e "todo.sh is already instlled in ~/.quickzsh/todo/bin/\n" + echo -e "todo.sh is already instlled in ~/.config/quickzsh/todo/bin/\n" fi if [[ $1 == "--cp-hist" ]] || [[ $1 == "-c" ]]; then From 04714c3c05ecc9cd425d1a287befa213c7be702f Mon Sep 17 00:00:00 2001 From: Siddharth More Date: Fri, 11 Jun 2021 13:01:24 +0530 Subject: [PATCH 03/21] Added my aliases --- .zshrc | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 166 insertions(+), 6 deletions(-) diff --git a/.zshrc b/.zshrc index 4e1a2d9..df3be38 100644 --- a/.zshrc +++ b/.zshrc @@ -146,7 +146,172 @@ autoload -U compinit && compinit # zsh-completions # CUSTOM ALIASES +# Easier navigation: .., ..., ...., ....., ~ and - +alias ..="cd .." +alias ...="cd ../.." +alias ....="cd ../../.." +alias .....="cd ../../../.." +# Shortcuts +alias dl="cd ~/Downloads" +alias g="git" + + +# Get macOS Software Updates, and update installed Ruby gems, Homebrew, npm, and their installed packages +alias update='sudo softwareupdate -i -a; brew update; brew upgrade; brew cleanup; npm install npm -g; npm update -g; sudo gem update --system; sudo gem update; sudo gem cleanup' + + +# IP addresses +alias ip="dig +short myip.opendns.com @resolver1.opendns.com" +alias localip="ipconfig getifaddr en0" +alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'" + +# Show active network interfaces +alias ifactive="ifconfig | pcregrep -M -o '^[^\t:]+:([^\n]|\n\t)*status: active'" + +# Flush Directory Service cache +alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder" + +# Clean up LaunchServices to remove duplicates in the “Open With” menu +alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder" + +# Canonical hex dump; some systems have this symlinked +command -v hd > /dev/null || alias hd="hexdump -C" + +# macOS has no `md5sum`, so use `md5` as a fallback +command -v md5sum > /dev/null || alias md5sum="md5" + +# macOS has no `sha1sum`, so use `shasum` as a fallback +command -v sha1sum > /dev/null || alias sha1sum="shasum" + +# JavaScriptCore REPL +jscbin="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc"; +[ -e "${jscbin}" ] && alias jsc="${jscbin}"; +unset jscbin; + +# Trim new lines and copy to clipboard +alias c="tr -d '\n' | pbcopy" + +# Recursively delete `.DS_Store` files +alias cleanup="find . -type f -name '*.DS_Store' -ls -delete" + +# Empty the Trash on all mounted volumes and the main HDD. +# Also, clear Apple’s System Logs to improve shell startup speed. +# Finally, clear download history from quarantine. https://mths.be/bum +alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'" + +# Show/hide hidden files in Finder +alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder" +alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder" + +# Hide/show all desktop icons (useful when presenting) +alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder" +alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder" + +# URL-encode strings +alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"' + +# Merge PDF files, preserving hyperlinks +# Usage: `mergepdf input{1,2,3}.pdf` +alias mergepdf='gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=_merged.pdf' + +# Disable Spotlight +alias spotoff="sudo mdutil -a -i off" +# Enable Spotlight +alias spoton="sudo mdutil -a -i on" + +# PlistBuddy alias, because sometimes `defaults` just doesn’t cut it +alias plistbuddy="/usr/libexec/PlistBuddy" + +# Airport CLI alias +alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport' + +# Intuitive map function +# For example, to list all directories that contain a certain file: +# find . -name .gitattributes | map dirname +alias map="xargs -n1" + +# One of @janmoesen’s ProTip™s +for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do + alias "${method}"="lwp-request -m '${method}'" +done + +# Stuff I never really use but cannot delete either because of http://xkcd.com/530/ +alias stfu="osascript -e 'set volume output muted true'" +alias pumpitup="osascript -e 'set volume output volume 100'" + +# Kill all the tabs in Chrome to free up memory +# [C] explained: http://www.commandlinefu.com/commands/view/402/exclude-grep-from-your-grepped-output-of-ps-alias-included-in-description +alias chromekill="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill" + +# Lock the screen (when going AFK) +alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend" + +# Reload the shell (i.e. invoke as a login shell) +alias reload="exec ${SHELL} -l" + +# Print each PATH entry on a separate line +alias path='echo -e ${PATH//:/\\n}' + +alias vim="nvim" +alias vi="nvim" +alias project="cd /run/media/Learn/Code/Projects" +alias mongodb="sudo systemctl start mongodb" +alias mongodb-stop="sudo systemctl stop mongodb" +alias Media="cd /run/media/Media" +alias Learn="cd /run/media/Learn" + + + +extract () +{ + filetoextract=$1 + if [ -f "${filetoextract}" ] ; then + case "${filetoextract}" in + *.tar.bz2) tar xjf "${filetoextract}" ;; + *.tar.gz) tar xzf "${filetoextract}" ;; + *.bz2) bunzip2 "${filetoextract}" ;; + *.rar) unrar x "${filetoextract}" ;; + *.gz) gunzip "${filetoextract}" ;; + *.tar) tar xf "${filetoextract}" ;; + *.tbz2) tar xjf "${filetoextract}" ;; + *.tgz) tar xzf "${filetoextract}" ;; + *.zip) unzip "${filetoextract}" ;; + *.Z) uncompress "${filetoextract}";; + *.7z) 7z x "${filetoextract}" ;; + *.deb) ar x "${filetoextract}" ;; + *.tar.xz) tar xf "${filetoextract}" ;; + *.tar.zst) unzstd "${filetoextract}" ;; + *) echo "'"${filetoextract}"' cannot be extracted via ex()" ;; + esac + else + echo "'"${filetoextract}"' does not exist in $PWD" + fi +} + + +alias ua-drop-caches='sudo paccache -rk3; yay -Sc --aur --noconfirm' +alias speedUpdate='export TMPFILE="$(mktemp)"; \ + sudo true; \ + rate-arch-mirrors --max-delay=21600 | tee -a $TMPFILE \ + && sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \ + && sudo mv $TMPFILE /etc/pacman.d/mirrorlist \ + && ua-drop-caches \ + && yay -Syyu --noconfirm' + +alias pacup='sudo pacman -Syu' +alias pacsearch='pacman -Ss ' +alias pacinstall='sudo pacman -S ' +alias pacremove='sudo pacman -Rns ' + + +# Performance +alias cpuavail='cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors' +alias cpushow='cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' +alias cpuhigh='echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' + + +# QuickZsh SAVEHIST=50000 #save upto 50,000 lines in history. oh-my-zsh default is 10,000 #setopt hist_ignore_all_dups # dont record duplicated entries in history during a single session @@ -211,9 +376,4 @@ corona() { else curl "https://corona-stats.online" fi -} - -for file in ~/.aliases; do - [ -r "$file" ] && [ -f "$file" ] && source "$file"; -done; -unset file; \ No newline at end of file +} \ No newline at end of file From ebbf091ee63de1b80e3fcfd7d30dd297d32cb110 Mon Sep 17 00:00:00 2001 From: Siddharth More Date: Fri, 11 Jun 2021 13:02:55 +0530 Subject: [PATCH 04/21] Fix --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index df3be38..28355fb 100644 --- a/.zshrc +++ b/.zshrc @@ -376,4 +376,4 @@ corona() { else curl "https://corona-stats.online" fi -} \ No newline at end of file +} From 7f8707244b7048457275a0ca3802e9ade9af5ac5 Mon Sep 17 00:00:00 2001 From: JGill Date: Thu, 16 Sep 2021 12:51:47 +0530 Subject: [PATCH 05/21] Removed additional aliases but kept extract() --- .zshrc | 192 ++++++++------------------------------------------------- 1 file changed, 26 insertions(+), 166 deletions(-) diff --git a/.zshrc b/.zshrc index 28355fb..8eebba5 100644 --- a/.zshrc +++ b/.zshrc @@ -145,172 +145,6 @@ autoload -U compinit && compinit # zsh-completions # bashcompinit -# CUSTOM ALIASES -# Easier navigation: .., ..., ...., ....., ~ and - -alias ..="cd .." -alias ...="cd ../.." -alias ....="cd ../../.." -alias .....="cd ../../../.." - -# Shortcuts -alias dl="cd ~/Downloads" -alias g="git" - - -# Get macOS Software Updates, and update installed Ruby gems, Homebrew, npm, and their installed packages -alias update='sudo softwareupdate -i -a; brew update; brew upgrade; brew cleanup; npm install npm -g; npm update -g; sudo gem update --system; sudo gem update; sudo gem cleanup' - - -# IP addresses -alias ip="dig +short myip.opendns.com @resolver1.opendns.com" -alias localip="ipconfig getifaddr en0" -alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'" - -# Show active network interfaces -alias ifactive="ifconfig | pcregrep -M -o '^[^\t:]+:([^\n]|\n\t)*status: active'" - -# Flush Directory Service cache -alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder" - -# Clean up LaunchServices to remove duplicates in the “Open With” menu -alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder" - -# Canonical hex dump; some systems have this symlinked -command -v hd > /dev/null || alias hd="hexdump -C" - -# macOS has no `md5sum`, so use `md5` as a fallback -command -v md5sum > /dev/null || alias md5sum="md5" - -# macOS has no `sha1sum`, so use `shasum` as a fallback -command -v sha1sum > /dev/null || alias sha1sum="shasum" - -# JavaScriptCore REPL -jscbin="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc"; -[ -e "${jscbin}" ] && alias jsc="${jscbin}"; -unset jscbin; - -# Trim new lines and copy to clipboard -alias c="tr -d '\n' | pbcopy" - -# Recursively delete `.DS_Store` files -alias cleanup="find . -type f -name '*.DS_Store' -ls -delete" - -# Empty the Trash on all mounted volumes and the main HDD. -# Also, clear Apple’s System Logs to improve shell startup speed. -# Finally, clear download history from quarantine. https://mths.be/bum -alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'" - -# Show/hide hidden files in Finder -alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder" -alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder" - -# Hide/show all desktop icons (useful when presenting) -alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder" -alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder" - -# URL-encode strings -alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"' - -# Merge PDF files, preserving hyperlinks -# Usage: `mergepdf input{1,2,3}.pdf` -alias mergepdf='gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=_merged.pdf' - -# Disable Spotlight -alias spotoff="sudo mdutil -a -i off" -# Enable Spotlight -alias spoton="sudo mdutil -a -i on" - -# PlistBuddy alias, because sometimes `defaults` just doesn’t cut it -alias plistbuddy="/usr/libexec/PlistBuddy" - -# Airport CLI alias -alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport' - -# Intuitive map function -# For example, to list all directories that contain a certain file: -# find . -name .gitattributes | map dirname -alias map="xargs -n1" - -# One of @janmoesen’s ProTip™s -for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do - alias "${method}"="lwp-request -m '${method}'" -done - -# Stuff I never really use but cannot delete either because of http://xkcd.com/530/ -alias stfu="osascript -e 'set volume output muted true'" -alias pumpitup="osascript -e 'set volume output volume 100'" - -# Kill all the tabs in Chrome to free up memory -# [C] explained: http://www.commandlinefu.com/commands/view/402/exclude-grep-from-your-grepped-output-of-ps-alias-included-in-description -alias chromekill="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill" - -# Lock the screen (when going AFK) -alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend" - -# Reload the shell (i.e. invoke as a login shell) -alias reload="exec ${SHELL} -l" - -# Print each PATH entry on a separate line -alias path='echo -e ${PATH//:/\\n}' - -alias vim="nvim" -alias vi="nvim" -alias project="cd /run/media/Learn/Code/Projects" -alias mongodb="sudo systemctl start mongodb" -alias mongodb-stop="sudo systemctl stop mongodb" -alias Media="cd /run/media/Media" -alias Learn="cd /run/media/Learn" - - - -extract () -{ - filetoextract=$1 - if [ -f "${filetoextract}" ] ; then - case "${filetoextract}" in - *.tar.bz2) tar xjf "${filetoextract}" ;; - *.tar.gz) tar xzf "${filetoextract}" ;; - *.bz2) bunzip2 "${filetoextract}" ;; - *.rar) unrar x "${filetoextract}" ;; - *.gz) gunzip "${filetoextract}" ;; - *.tar) tar xf "${filetoextract}" ;; - *.tbz2) tar xjf "${filetoextract}" ;; - *.tgz) tar xzf "${filetoextract}" ;; - *.zip) unzip "${filetoextract}" ;; - *.Z) uncompress "${filetoextract}";; - *.7z) 7z x "${filetoextract}" ;; - *.deb) ar x "${filetoextract}" ;; - *.tar.xz) tar xf "${filetoextract}" ;; - *.tar.zst) unzstd "${filetoextract}" ;; - *) echo "'"${filetoextract}"' cannot be extracted via ex()" ;; - esac - else - echo "'"${filetoextract}"' does not exist in $PWD" - fi -} - - -alias ua-drop-caches='sudo paccache -rk3; yay -Sc --aur --noconfirm' -alias speedUpdate='export TMPFILE="$(mktemp)"; \ - sudo true; \ - rate-arch-mirrors --max-delay=21600 | tee -a $TMPFILE \ - && sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \ - && sudo mv $TMPFILE /etc/pacman.d/mirrorlist \ - && ua-drop-caches \ - && yay -Syyu --noconfirm' - -alias pacup='sudo pacman -Syu' -alias pacsearch='pacman -Ss ' -alias pacinstall='sudo pacman -S ' -alias pacremove='sudo pacman -Rns ' - - -# Performance -alias cpuavail='cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors' -alias cpushow='cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' -alias cpuhigh='echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' - - # QuickZsh SAVEHIST=50000 #save upto 50,000 lines in history. oh-my-zsh default is 10,000 #setopt hist_ignore_all_dups # dont record duplicated entries in history during a single session @@ -335,6 +169,32 @@ cheat() { fi } +extract () +{ + filetoextract=$1 + if [ -f "${filetoextract}" ] ; then + case "${filetoextract}" in + *.tar.bz2) tar xjf "${filetoextract}" ;; + *.tar.gz) tar xzf "${filetoextract}" ;; + *.bz2) bunzip2 "${filetoextract}" ;; + *.rar) unrar x "${filetoextract}" ;; + *.gz) gunzip "${filetoextract}" ;; + *.tar) tar xf "${filetoextract}" ;; + *.tbz2) tar xjf "${filetoextract}" ;; + *.tgz) tar xzf "${filetoextract}" ;; + *.zip) unzip "${filetoextract}" ;; + *.Z) uncompress "${filetoextract}";; + *.7z) 7z x "${filetoextract}" ;; + *.deb) ar x "${filetoextract}" ;; + *.tar.xz) tar xf "${filetoextract}" ;; + *.tar.zst) unzstd "${filetoextract}" ;; + *) echo "'"${filetoextract}"' cannot be extracted via ex()" ;; + esac + else + echo "'"${filetoextract}"' does not exist in $PWD" + fi +} + # Matrix screen saver! will run if you have installed "cmatrix" # TMOUT=900 # TRAPALRM() { if command -v cmatrix &> /dev/null; then cmatrix -sb; fi } From 4c2a20ee91165513dacd6f68b26c9d9b5eb4cc50 Mon Sep 17 00:00:00 2001 From: JGill Date: Thu, 16 Sep 2021 13:51:32 +0530 Subject: [PATCH 06/21] Move data to ~/.config/; fix fzf install --- quickz.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/quickz.sh b/quickz.sh index 3678507..29b2c3d 100755 --- a/quickz.sh +++ b/quickz.sh @@ -19,6 +19,10 @@ fi echo -e "Installing oh-my-zsh\n" if [ -d ~/.config/oh-my-zsh ]; then echo -e "oh-my-zsh is already installed\n" +elif [ -d ~/.oh-my-zsh ]; then + echo -e "oh-my-zsh in already installed at '~/.oh-my-zsh'. Moving it to '~/.config/oh-my-zsh'" + export ZSH="$HOME/.config/oh-my-zsh" + mv ~/.oh-my-zsh ~/.config/oh-my-zsh else git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.config/oh-my-zsh fi @@ -26,7 +30,13 @@ fi cp -f .zshrc ~/ -mkdir -p ~/.config/quickzsh # external plugins, things, will be instlled in here +if [ -d ~/.quickzsh ]; then + echo -e "quickzsh is installed at '~/.quickzsh'. Moving it to '~/.config/quickzsh' \n" + mv ~/.quickzsh ~/.config/quickzsh +else + mkdir -p ~/.config/quickzsh # external plugins, things, will be instlled in here +fi + if [ -d ~/.config/oh-my-zsh/plugins/zsh-autosuggestions ]; then cd ~/.config/oh-my-zsh/plugins/zsh-autosuggestions && git pull @@ -71,10 +81,10 @@ fi if [ -d ~/.~/.config/quickzsh/fzf ]; then cd ~/.config/quickzsh/fzf && git pull - ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 + ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc else git clone --depth 1 https://github.com/junegunn/fzf.git ~/.config/quickzsh/fzf - ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc --64 + ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc fi if [ -d ~/.config/oh-my-zsh/custom/plugins/k ]; then From 6a8dbabc79e883b18bf76309d1687202593945ac Mon Sep 17 00:00:00 2001 From: JGill Date: Thu, 16 Sep 2021 14:29:05 +0530 Subject: [PATCH 07/21] Moved .zcompdump cache files to .cache/zsh; omz update command --- quickz.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/quickz.sh b/quickz.sh index 29b2c3d..c8bdb70 100755 --- a/quickz.sh +++ b/quickz.sh @@ -37,6 +37,11 @@ else mkdir -p ~/.config/quickzsh # external plugins, things, will be instlled in here fi +mkdir -p ~/.cache/zsh/ # this will be used to store .zcompdump zsh completion cache files which normally clutter $HOME + +if [ -f ~/.zcompdump ]; then + mv ~/.zcompdump* ~/.cache/zsh/ +fi if [ -d ~/.config/oh-my-zsh/plugins/zsh-autosuggestions ]; then cd ~/.config/oh-my-zsh/plugins/zsh-autosuggestions && git pull @@ -144,7 +149,7 @@ fi # source ~/.zshrc echo -e "\nSudo access is needed to change default shell\n" -if chsh -s $(which zsh) && /bin/zsh -i -c upgrade_oh_my_zsh; then +if chsh -s $(which zsh) && /bin/zsh -i -c 'omz update'; then echo -e "Installation Successful, exit terminal and enter a new session" else echo -e "Something is wrong" From 3e387d0b5f6774904e6cb60dc478a1de7662696c Mon Sep 17 00:00:00 2001 From: JGill Date: Thu, 16 Sep 2021 14:32:35 +0530 Subject: [PATCH 08/21] Change .zcompdump location --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 8eebba5..1cfa86e 100644 --- a/.zshrc +++ b/.zshrc @@ -140,7 +140,7 @@ export MARKER_KEY_NEXT_PLACEHOLDER="\C-b" #change maker key binding from Ctr+t export PATH=$PATH:~/.quickzsh/todo/bin #usig alias doesn't properly work -autoload -U compinit && compinit # zsh-completions +autoload -U compinit && compinit -C -d ~/.cache/zsh/.zcompdump # zsh-completions # autoload bashcompinit # bash completions # bashcompinit From dd48692ca3c21e70b22776a42ed539bce84bea39 Mon Sep 17 00:00:00 2001 From: JGill Date: Sun, 19 Sep 2021 21:18:45 +0530 Subject: [PATCH 09/21] Move stuff to ~/.config/ezsh/ --- quickz.sh | 94 +++++++++++++++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/quickz.sh b/quickz.sh index c8bdb70..8c43c08 100755 --- a/quickz.sh +++ b/quickz.sh @@ -17,24 +17,24 @@ fi echo -e "Installing oh-my-zsh\n" -if [ -d ~/.config/oh-my-zsh ]; then +if [ -d ~/.config/ezsh/oh-my-zsh ]; then echo -e "oh-my-zsh is already installed\n" elif [ -d ~/.oh-my-zsh ]; then - echo -e "oh-my-zsh in already installed at '~/.oh-my-zsh'. Moving it to '~/.config/oh-my-zsh'" - export ZSH="$HOME/.config/oh-my-zsh" - mv ~/.oh-my-zsh ~/.config/oh-my-zsh + echo -e "oh-my-zsh in already installed at '~/.oh-my-zsh'. Moving it to '~/.config/ezsh/oh-my-zsh'" + export ZSH="$HOME/.config/ezsh/oh-my-zsh" + mv ~/.oh-my-zsh ~/.config/ezsh/oh-my-zsh else - git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.config/oh-my-zsh + git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.config/ezsh/oh-my-zsh fi cp -f .zshrc ~/ if [ -d ~/.quickzsh ]; then - echo -e "quickzsh is installed at '~/.quickzsh'. Moving it to '~/.config/quickzsh' \n" - mv ~/.quickzsh ~/.config/quickzsh + echo -e "The setup was installed at '~/.quickzsh'. Moving it to '~/.config/ezsh' \n" + mv ~/.quickzsh ~/.config/ezsh else - mkdir -p ~/.config/quickzsh # external plugins, things, will be instlled in here + mkdir -p ~/.config/ezsh # external plugins, things, will be instlled in here fi mkdir -p ~/.cache/zsh/ # this will be used to store .zcompdump zsh completion cache files which normally clutter $HOME @@ -43,28 +43,28 @@ if [ -f ~/.zcompdump ]; then mv ~/.zcompdump* ~/.cache/zsh/ fi -if [ -d ~/.config/oh-my-zsh/plugins/zsh-autosuggestions ]; then - cd ~/.config/oh-my-zsh/plugins/zsh-autosuggestions && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/plugins/zsh-autosuggestions ]; then + cd ~/.config/ezsh/oh-my-zsh/plugins/zsh-autosuggestions && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.config/oh-my-zsh/plugins/zsh-autosuggestions + git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.config/ezsh/oh-my-zsh/plugins/zsh-autosuggestions fi -if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then - cd ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then + cd ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-syntax-highlighting && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.config/oh-my-zsh/custom/plugins/zsh-syntax-highlighting + git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-syntax-highlighting fi -if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-completions ]; then - cd ~/.config/oh-my-zsh/custom/plugins/zsh-completions && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-completions ]; then + cd ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-completions && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.config/oh-my-zsh/custom/plugins/zsh-completions + git clone --depth=1 https://github.com/zsh-users/zsh-completions ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-completions fi -if [ -d ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then - cd ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then + cd ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-history-substring-search && git pull else - git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search ~/.config/oh-my-zsh/custom/plugins/zsh-history-substring-search + git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search ~/.config/ezsh/oh-my-zsh/custom/plugins/zsh-history-substring-search fi @@ -78,54 +78,54 @@ wget -q --show-progress -N https://github.com/ryanoasis/nerd-fonts/raw/master/pa fc-cache -fv ~/.fonts -if [ -d ~/.config/oh-my-zsh/custom/themes/powerlevel10k ]; then - cd ~/.config/oh-my-zsh/custom/themes/powerlevel10k && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/custom/themes/powerlevel10k ]; then + cd ~/.config/ezsh/oh-my-zsh/custom/themes/powerlevel10k && git pull else - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/oh-my-zsh/custom/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/ezsh/oh-my-zsh/custom/themes/powerlevel10k fi -if [ -d ~/.~/.config/quickzsh/fzf ]; then - cd ~/.config/quickzsh/fzf && git pull - ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc +if [ -d ~/.~/.config/ezsh/fzf ]; then + cd ~/.config/ezsh/fzf && git pull + ~/.config/ezsh/fzf/install --all --key-bindings --completion --no-update-rc else - git clone --depth 1 https://github.com/junegunn/fzf.git ~/.config/quickzsh/fzf - ~/.config/quickzsh/fzf/install --all --key-bindings --completion --no-update-rc + git clone --depth 1 https://github.com/junegunn/fzf.git ~/.config/ezsh/fzf + ~/.config/ezsh/fzf/install --all --key-bindings --completion --no-update-rc fi -if [ -d ~/.config/oh-my-zsh/custom/plugins/k ]; then - cd ~/.config/oh-my-zsh/custom/plugins/k && git pull +if [ -d ~/.config/ezsh/oh-my-zsh/custom/plugins/k ]; then + cd ~/.config/ezsh/oh-my-zsh/custom/plugins/k && git pull else - git clone --depth 1 https://github.com/supercrabtree/k ~/.config/oh-my-zsh/custom/plugins/k + git clone --depth 1 https://github.com/supercrabtree/k ~/.config/ezsh/oh-my-zsh/custom/plugins/k fi -if [ -d ~/.config/quickzsh/marker ]; then - cd ~/.config/quickzsh/marker && git pull +if [ -d ~/.config/ezsh/marker ]; then + cd ~/.config/ezsh/marker && git pull else - git clone --depth 1 https://github.com/pindexis/marker ~/.config/quickzsh/marker + git clone --depth 1 https://github.com/pindexis/marker ~/.config/ezsh/marker fi -if ~/.config/quickzsh/marker/install.py; then +if ~/.config/ezsh/marker/install.py; then echo -e "Installed Marker\n" else echo -e "Marker Installation Had Issues\n" fi -# if git clone --depth 1 https://github.com/todotxt/todo.txt-cli.git ~/.config/quickzsh/todo; then : +# if git clone --depth 1 https://github.com/todotxt/todo.txt-cli.git ~/.config/ezsh/todo; then : # else -# cd ~/.config/quickzsh/todo && git fetch --all && git reset --hard origin/master +# cd ~/.config/ezsh/todo && git fetch --all && git reset --hard origin/master # fi -# mkdir ~/.config/quickzsh/todo/bin ; cp -f ~/.config/quickzsh/todo/todo.sh ~/.config/quickzsh/todo/bin/todo.sh # cp todo.sh to ./bin so only it is included in $PATH +# mkdir ~/.config/ezsh/todo/bin ; cp -f ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/todo/bin/todo.sh # cp todo.sh to ./bin so only it is included in $PATH # #touch ~/.todo/config # needs it, otherwise spits error , yeah a bug in todo -# ln -s ~/.config/quickzsh/todo ~/.todo -if [ ! -L ~/.config/quickzsh/todo/bin/todo.sh ]; then - echo -e "Installing todo.sh in ~/.config/quickzsh/todo\n" - mkdir -p ~/.config/quickzsh/todo/bin - wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.config/quickzsh/ - tar xvf ~/.config/quickzsh/todo.txt_cli-2.11.0.tar.gz -C ~/.config/quickzsh/todo --strip 1 && rm ~/.config/quickzsh/todo.txt_cli-2.11.0.tar.gz - ln -s ~/.config/quickzsh/todo/todo.sh ~/.config/quickzsh/todo/bin/todo.sh # so only .../bin is included in $PATH - ln -s ~/.config/quickzsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config +# ln -s ~/.config/ezsh/todo ~/.todo +if [ ! -L ~/.config/ezsh/todo/bin/todo.sh ]; then + echo -e "Installing todo.sh in ~/.config/ezsh/todo\n" + mkdir -p ~/.config/ezsh/todo/bin + wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.config/ezsh/ + tar xvf ~/.config/ezsh/todo.txt_cli-2.11.0.tar.gz -C ~/.config/ezsh/todo --strip 1 && rm ~/.config/ezsh/todo.txt_cli-2.11.0.tar.gz + ln -s ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/todo/bin/todo.sh # so only .../bin is included in $PATH + ln -s ~/.config/ezsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config else - echo -e "todo.sh is already instlled in ~/.config/quickzsh/todo/bin/\n" + echo -e "todo.sh is already instlled in ~/.config/ezsh/todo/bin/\n" fi if [[ $1 == "--cp-hist" ]] || [[ $1 == "-c" ]]; then From 61c50f83077f973048b02ea6223152686beda8c8 Mon Sep 17 00:00:00 2001 From: JGill Date: Mon, 20 Sep 2021 07:12:30 +0530 Subject: [PATCH 10/21] Set new path to oh-my-zsh --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 1cfa86e..e80e9dd 100644 --- a/.zshrc +++ b/.zshrc @@ -3,7 +3,7 @@ export TERM="xterm-256color" # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. -export ZSH=$HOME/.config/oh-my-zsh +export ZSH=$HOME/.config/ezsh/oh-my-zsh # Set name of the theme to load. Optionally, if you set this to "random" # it'll load a random theme each time that oh-my-zsh is loaded. From a492680f718f8cd824528ab80f7b71d9545f1cfe Mon Sep 17 00:00:00 2001 From: JGill Date: Mon, 20 Sep 2021 08:04:51 +0530 Subject: [PATCH 11/21] Rename .zshrc to ezshrc.zsh --- .zshrc => ezshrc.zsh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .zshrc => ezshrc.zsh (100%) diff --git a/.zshrc b/ezshrc.zsh similarity index 100% rename from .zshrc rename to ezshrc.zsh From 42fe80b72e2bf3690d91e749cd1a019872ae46ce Mon Sep 17 00:00:00 2001 From: JGill Date: Mon, 20 Sep 2021 08:20:14 +0530 Subject: [PATCH 12/21] Update todo.sh version, create ~.config/ezsh/zshrc --- quickz.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/quickz.sh b/quickz.sh index 8c43c08..8d0ea86 100755 --- a/quickz.sh +++ b/quickz.sh @@ -119,10 +119,10 @@ fi # ln -s ~/.config/ezsh/todo ~/.todo if [ ! -L ~/.config/ezsh/todo/bin/todo.sh ]; then echo -e "Installing todo.sh in ~/.config/ezsh/todo\n" - mkdir -p ~/.config/ezsh/todo/bin - wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.11.0/todo.txt_cli-2.11.0.tar.gz" -P ~/.config/ezsh/ - tar xvf ~/.config/ezsh/todo.txt_cli-2.11.0.tar.gz -C ~/.config/ezsh/todo --strip 1 && rm ~/.config/ezsh/todo.txt_cli-2.11.0.tar.gz - ln -s ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/todo/bin/todo.sh # so only .../bin is included in $PATH + mkdir -p ~/.config/ezsh/bin + wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.12.0/todo.txt_cli-2.12.0.tar.gz" -P ~/.config/ezsh/ + tar xvf ~/.config/ezsh/todo.txt_cli-2.12.0.tar.gz -C ~/.config/ezsh/todo --strip 1 && rm ~/.config/ezsh/todo.txt_cli-2.12.0.tar.gz + ln -s ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/bin/todo.sh # so only .../bin is included in $PATH ln -s ~/.config/ezsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config else echo -e "todo.sh is already instlled in ~/.config/ezsh/todo/bin/\n" @@ -145,6 +145,10 @@ else echo -e "\nNot copying bash_history to zsh_history, as --cp-hist or -c is not supplied\n" fi +ZDOTDIR="~/.config/ezsh/zshrc" +if [ ! -d $ZDOTDIR ]; then + mkdir -p $ZDOTDIR +fi # source ~/.zshrc echo -e "\nSudo access is needed to change default shell\n" From 7626c52c92dd249d679c0490977248b4f3a34879 Mon Sep 17 00:00:00 2001 From: JGill Date: Mon, 20 Sep 2021 09:45:47 +0530 Subject: [PATCH 13/21] Making it work --- ezshrc.zsh | 4 ++-- quickz.sh | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ezshrc.zsh b/ezshrc.zsh index e80e9dd..daf58fa 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -128,6 +128,8 @@ source $ZSH/oh-my-zsh.sh # Add to PATH to Install and run programs with "pip install --user" export PATH=$PATH:~/.local/bin +export PATH=$PATH:~/.config/ezsh/bin + NPM_PACKAGES="${HOME}/.npm" PATH="$NPM_PACKAGES/bin:$PATH" @@ -138,8 +140,6 @@ export MARKER_KEY_NEXT_PLACEHOLDER="\C-b" #change maker key binding from Ctr+t [[ -s "$HOME/.local/share/marker/marker.sh" ]] && source "$HOME/.local/share/marker/marker.sh" -export PATH=$PATH:~/.quickzsh/todo/bin #usig alias doesn't properly work - autoload -U compinit && compinit -C -d ~/.cache/zsh/.zcompdump # zsh-completions # autoload bashcompinit # bash completions # bashcompinit diff --git a/quickz.sh b/quickz.sh index 8d0ea86..3a07b33 100755 --- a/quickz.sh +++ b/quickz.sh @@ -27,8 +27,6 @@ else git clone --depth=1 git://github.com/robbyrussell/oh-my-zsh.git ~/.config/ezsh/oh-my-zsh fi -cp -f .zshrc ~/ - if [ -d ~/.quickzsh ]; then echo -e "The setup was installed at '~/.quickzsh'. Moving it to '~/.config/ezsh' \n" @@ -37,6 +35,10 @@ else mkdir -p ~/.config/ezsh # external plugins, things, will be instlled in here fi +cp -f .zshrc ~/ +cp -f ezshrc.zsh ~/.config/ezsh/ + +mkdir -p ~/.config/ezsh/zshrc # PLACE YOUR ZSHRC CONFIGURATIONS OVER THERE mkdir -p ~/.cache/zsh/ # this will be used to store .zcompdump zsh completion cache files which normally clutter $HOME if [ -f ~/.zcompdump ]; then @@ -120,10 +122,11 @@ fi if [ ! -L ~/.config/ezsh/todo/bin/todo.sh ]; then echo -e "Installing todo.sh in ~/.config/ezsh/todo\n" mkdir -p ~/.config/ezsh/bin + mkdir -p ~/.config/ezsh/todo wget -q --show-progress "https://github.com/todotxt/todo.txt-cli/releases/download/v2.12.0/todo.txt_cli-2.12.0.tar.gz" -P ~/.config/ezsh/ tar xvf ~/.config/ezsh/todo.txt_cli-2.12.0.tar.gz -C ~/.config/ezsh/todo --strip 1 && rm ~/.config/ezsh/todo.txt_cli-2.12.0.tar.gz - ln -s ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/bin/todo.sh # so only .../bin is included in $PATH - ln -s ~/.config/ezsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config + ln -s -f ~/.config/ezsh/todo/todo.sh ~/.config/ezsh/bin/todo.sh # so only .../bin is included in $PATH + ln -s -f ~/.config/ezsh/todo/todo.cfg ~/.todo.cfg # it expects it there or ~/todo.cfg or ~/.todo/config else echo -e "todo.sh is already instlled in ~/.config/ezsh/todo/bin/\n" fi From 46015167854c8b2544f670e7057ad06312de20da Mon Sep 17 00:00:00 2001 From: JGill Date: Mon, 20 Sep 2021 09:46:22 +0530 Subject: [PATCH 14/21] Upload base .zshrc --- .zshrc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .zshrc diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..7de3535 --- /dev/null +++ b/.zshrc @@ -0,0 +1,23 @@ +################ DO NOT MODIFY THIS FILE ####################### + +################################################################ + + +# This file is created by ezsh setup. +# Place all your .zshrc configurations / overrides in a single or multiple files under ~/.config/ezsh/zshrc/ folder +# Your original .zshrc is backed up at ~/.zshrc-backup-%y-%m-%d + + +# Load ezsh configurations +source "$HOME/.config/ezsh/ezshrc.zsh" + + +# Any zshrc configurations under the folder ~/.config/ezsh/zshrc/ will override the default ezsh configs. +# Place all of your personal configurations over there +ZDOTDIR="$HOME/.config/ezsh/zshrc" + +if [ "$(ls -A $ZDOTDIR)" ]; then + for file in "$ZDOTDIR"/*; do + source "$file" + done +fi From 04b096160b425f98e7408434fa848bf83771cb55 Mon Sep 17 00:00:00 2001 From: JGill Date: Sat, 25 Sep 2021 09:03:30 +0530 Subject: [PATCH 15/21] Simplified base oh-my-zsh config, added plugins: extract z sudo --- ezshrc.zsh | 50 ++++++++++++++------------------------------------ 1 file changed, 14 insertions(+), 36 deletions(-) diff --git a/ezshrc.zsh b/ezshrc.zsh index daf58fa..f005fd8 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -20,13 +20,13 @@ POWERLEVEL9K_DIR_HOME_FOREGROUND="white" POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="white" POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white" -POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(virtualenv status command_execution_time background_jobs todo ram load rvm time) +POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status command_execution_time background_jobs ram load rvm time) # more prompt elements that are suggested # (public_ip docker_machine pyenv nvm) https://github.com/bhilburn/powerlevel9k#prompt-customization # Note: using public_ip is cool but when connection is down prompt waits for 10-20 seconds -POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(ssh os_icon context dir rbenv vcs) +POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(ssh os_icon context dir vcs) POWERLEVEL9K_PROMPT_ON_NEWLINE=true @@ -74,27 +74,30 @@ POWERLEVEL9K_PROMPT_ON_NEWLINE=true # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=( - git zsh-completions zsh-autosuggestions + zsh-syntax-highlighting history-substring-search + git python - httpie - docker - lol - pip - pyenv - redis-cli screen systemd web-search k + extract + z + sudo + # httpie + # docker + # lol + # pip + # pyenv + # redis-cli # zsh-wakatime # enable if you use wakatime with 'https://github.com/wbingli/zsh-wakatime' - zsh-syntax-highlighting ) #plugins+=(zsh-nvm) -source $ZSH/oh-my-zsh.sh +# source $ZSH/oh-my-zsh.sh # User configuration @@ -169,31 +172,6 @@ cheat() { fi } -extract () -{ - filetoextract=$1 - if [ -f "${filetoextract}" ] ; then - case "${filetoextract}" in - *.tar.bz2) tar xjf "${filetoextract}" ;; - *.tar.gz) tar xzf "${filetoextract}" ;; - *.bz2) bunzip2 "${filetoextract}" ;; - *.rar) unrar x "${filetoextract}" ;; - *.gz) gunzip "${filetoextract}" ;; - *.tar) tar xf "${filetoextract}" ;; - *.tbz2) tar xjf "${filetoextract}" ;; - *.tgz) tar xzf "${filetoextract}" ;; - *.zip) unzip "${filetoextract}" ;; - *.Z) uncompress "${filetoextract}";; - *.7z) 7z x "${filetoextract}" ;; - *.deb) ar x "${filetoextract}" ;; - *.tar.xz) tar xf "${filetoextract}" ;; - *.tar.zst) unzstd "${filetoextract}" ;; - *) echo "'"${filetoextract}"' cannot be extracted via ex()" ;; - esac - else - echo "'"${filetoextract}"' does not exist in $PWD" - fi -} # Matrix screen saver! will run if you have installed "cmatrix" # TMOUT=900 From 431b81b2a77f43cb6cbf6d3eec85821130c05228 Mon Sep 17 00:00:00 2001 From: JGill Date: Sat, 25 Sep 2021 10:41:48 +0530 Subject: [PATCH 16/21] Making aliases work, that relay on oh-my-zsh plugins --- .zshrc | 15 ++++++++++----- ezshrc.zsh | 3 +-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.zshrc b/.zshrc index 7de3535..9a613cc 100644 --- a/.zshrc +++ b/.zshrc @@ -1,7 +1,6 @@ -################ DO NOT MODIFY THIS FILE ####################### - -################################################################ - +################# DO NOT MODIFY THIS FILE ####################### +####### PLACE YOUR CONFIGS IN ~/.config/ezsh/zshrc FOLDER ####### +################################################################# # This file is created by ezsh setup. # Place all your .zshrc configurations / overrides in a single or multiple files under ~/.config/ezsh/zshrc/ folder @@ -11,7 +10,6 @@ # Load ezsh configurations source "$HOME/.config/ezsh/ezshrc.zsh" - # Any zshrc configurations under the folder ~/.config/ezsh/zshrc/ will override the default ezsh configs. # Place all of your personal configurations over there ZDOTDIR="$HOME/.config/ezsh/zshrc" @@ -21,3 +19,10 @@ if [ "$(ls -A $ZDOTDIR)" ]; then source "$file" done fi + +# Now source oh-my-zsh.sh so that any plugins added in ~/.config/ezsh/zshrc/* files also get loaded +source $ZSH/oh-my-zsh.sh + + +# Configs that can only work after "source $ZSH/oh-my-zsh.sh", such as Aliases that depend oh-my-zsh plugins +alias k="k -h" # show human readable file sizes, in kb, mb etc diff --git a/ezshrc.zsh b/ezshrc.zsh index f005fd8..c897356 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -97,7 +97,7 @@ plugins=( ) #plugins+=(zsh-nvm) -# source $ZSH/oh-my-zsh.sh +# source $ZSH/oh-my-zsh.sh # This is now run in .zshrc after importing user configs from ~/.config/ezsh/zshrc/* files # User configuration @@ -155,7 +155,6 @@ SAVEHIST=50000 #save upto 50,000 lines in history. oh-my-zsh default is 10, alias myip="wget -qO- https://wtfismyip.com/text" # quickly show external ip address alias l="ls -lah" alias x="exit" -alias k="k -h" # show human readable filesizes, in kb, mb etc # CUSTOM FUNCTIONS From 9db9da1bb3e015f479c4564274d1fa009deb1ab3 Mon Sep 17 00:00:00 2001 From: JGill Date: Sun, 26 Sep 2021 12:13:44 +0530 Subject: [PATCH 17/21] Renaming to ez.sh --- README.md | 12 ++++++------ quickz.sh => ez.sh | 0 2 files changed, 6 insertions(+), 6 deletions(-) rename quickz.sh => ez.sh (100%) diff --git a/README.md b/README.md index 79442a1..191579d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# quickz-sh +# ezsh A simple script to setup an awesome shell environment. Quickly install and setup zsh and oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh) with * powerlevel10k theme (https://github.com/romkatv/powerlevel10k) @@ -27,9 +27,9 @@ Sets following useful aliases: ## Demo -Currently the command prompt looks like this (easily customize it in zshrc) +Currently the command prompt looks like this (easily customize it by placing your config in ~/.config/ezsh/zshrc/) ![prompt](https://user-images.githubusercontent.com/8462091/43674765-8bb13a76-9817-11e8-8b7b-16b8b1998408.png) -user : directory : git stats : last command exit code : ip : todo tasks : free memory: load : time +user : directory : git stats : last command exit code free memory: load : time Watch this to get an idea of what your Shell (well, life!) could be like!! @@ -42,9 +42,9 @@ Requirements: * `python3` or `python` is required to run option '-c' which copies history from .bash_history ``` bash -git clone https://github.com/jotyGill/quickz-sh.git -cd quickz-sh -./quickz.sh -c # only run with '-c' the first time, running multiple times will duplicate history entries +git clone https://github.com/jotyGill/ezsh +cd ezsh +./ez.sh -c # only run with '-c' the first time, running multiple times will duplicate history entries ``` Change your terminals fonts to either "RobotoMono Nerd Font" or "Hack Nerd Font" or "DejaVu Sans Mono Nerd Fonts". diff --git a/quickz.sh b/ez.sh similarity index 100% rename from quickz.sh rename to ez.sh From 031809b3ff819c9c61329b7540e6145d420efdde Mon Sep 17 00:00:00 2001 From: JGill Date: Sun, 26 Sep 2021 15:06:14 +0530 Subject: [PATCH 18/21] Change ZDORDIR to ZSH_CONIGS_DIR, fixes .zcomdump files issue --- .zshrc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.zshrc b/.zshrc index 9a613cc..cbcf014 100644 --- a/.zshrc +++ b/.zshrc @@ -12,10 +12,10 @@ source "$HOME/.config/ezsh/ezshrc.zsh" # Any zshrc configurations under the folder ~/.config/ezsh/zshrc/ will override the default ezsh configs. # Place all of your personal configurations over there -ZDOTDIR="$HOME/.config/ezsh/zshrc" +ZSH_CONFIGS_DIR="$HOME/.config/ezsh/zshrc" -if [ "$(ls -A $ZDOTDIR)" ]; then - for file in "$ZDOTDIR"/*; do +if [ "$(ls -A $ZSH_CONFIGS_DIR)" ]; then + for file in "$ZSH_CONFIGS_DIR"/*; do source "$file" done fi From 60cc3d397ec88ae15517292f32c2b8b0720ba7b0 Mon Sep 17 00:00:00 2001 From: JGill Date: Wed, 6 Oct 2021 10:45:52 +0530 Subject: [PATCH 19/21] Alias x changed to e, main file renamed to install.sh --- ezshrc.zsh | 2 +- ez.sh => install.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename ez.sh => install.sh (100%) diff --git a/ezshrc.zsh b/ezshrc.zsh index c897356..4b7d592 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -154,7 +154,7 @@ SAVEHIST=50000 #save upto 50,000 lines in history. oh-my-zsh default is 10, alias myip="wget -qO- https://wtfismyip.com/text" # quickly show external ip address alias l="ls -lah" -alias x="exit" +alias e="exit" # CUSTOM FUNCTIONS diff --git a/ez.sh b/install.sh similarity index 100% rename from ez.sh rename to install.sh From 1342762df80556868ea11d3b86ff07ade8632d86 Mon Sep 17 00:00:00 2001 From: JGill Date: Wed, 6 Oct 2021 12:13:31 +0530 Subject: [PATCH 20/21] Pushing ezsh RC --- README.md | 23 ++++++++++++++--------- example-config/personal_rc.zsh | 10 ++++++++++ ezshrc.zsh | 4 ++-- install.sh | 2 +- 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 example-config/personal_rc.zsh diff --git a/README.md b/README.md index 191579d..8f58d1e 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,15 @@ Quickly install and setup zsh and oh-my-zsh (https://github.com/robbyrussell/oh- * marker (https://github.com/pindexis/marker) * todotxt (https://github.com/todotxt/todo.txt-cli) -Sets following useful aliases: +Sets following useful aliases and ohmyzsh plugins. **You can add more or overwrite these in your personal zsh config files under `~/.config/ezsh/zshrc/`** * l="ls -lah" - just type "l" instead of "ls -lah" * alias k="k -h" - show human readable filesizes, in kb, mb etc -* x="exit" +* e="exit" +* [x="extract"](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/extract) - extract any compressed files +* [z](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/z) - quickly jump to most visited directories +* [web-search](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/web-search) - search on the web from cli +* [sudo](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/sudo) - easily prefix your commands with sudo by pressing `esc` twice +* [systemd](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/systemd) - many useful aliases for systemd * https - make httpie use https * myip - (wget -qO- https://wtfismyip.com/text) - what's my ip: quickly find out external IP * cheat - (https://github.com/chubin/cheat.sh) - cheatsheets in the terminal! @@ -27,7 +32,7 @@ Sets following useful aliases: ## Demo -Currently the command prompt looks like this (easily customize it by placing your config in ~/.config/ezsh/zshrc/) +Command prompt looks like this (easily customize it by placing your configs in ~/.config/ezsh/zshrc/) ![prompt](https://user-images.githubusercontent.com/8462091/43674765-8bb13a76-9817-11e8-8b7b-16b8b1998408.png) user : directory : git stats : last command exit code free memory: load : time @@ -44,10 +49,10 @@ Requirements: ``` bash git clone https://github.com/jotyGill/ezsh cd ezsh -./ez.sh -c # only run with '-c' the first time, running multiple times will duplicate history entries +./install.sh -c # only run with '-c' the first time, running multiple times will duplicate history entries ``` - -Change your terminals fonts to either "RobotoMono Nerd Font" or "Hack Nerd Font" or "DejaVu Sans Mono Nerd Fonts". +This will install the setup under `~/.config/ezsh/` +Change your terminal's fonts to either "RobotoMono Nerd Font" or "Hack Nerd Font" or "DejaVu Sans Mono Nerd Fonts". You can also manually install Nerd Fonts of your choice. ## Notes @@ -57,9 +62,9 @@ You can also manually install Nerd Fonts of your choice. * marker's shortcut "Ctr+t" clashed with fzf so I rebound it to "Ctr +b" -* All oh-my-zsh plugins are installed under ~/.oh-my-zsh, Other tools (fzf,marker,todo) are installed in ~/.quickzsh - -* The look of the shell can be very easily customised[https://github.com/bhilburn/powerlevel9k#prompt-customization] by editing POWERLEVEL9K settings in .zshrc (from line ~15) +* All oh-my-zsh plugins are installed under ~/.config/ezsh/oh-my-zsh/plugin, Other tools (fzf,marker,todo) are installed in ~/.config/ezsh/ +* The look of the shell can be very easily customised[https://github.com/bhilburn/powerlevel9k#prompt-customization] by overwriting POWERLEVEL10K settings +in your personal config file under ~/.config/ezsh/zshrc/ . See my setup under example/personal_rc.zsh Suggestions about more cool tools are always welcome :) diff --git a/example-config/personal_rc.zsh b/example-config/personal_rc.zsh new file mode 100644 index 0000000..0a6360f --- /dev/null +++ b/example-config/personal_rc.zsh @@ -0,0 +1,10 @@ +# This my personal zshrc configs. Feel free to use it and modify according to your needs +# Place all your .zshrc configurations (including this one) in a single or multiple files under ~/.config/ezsh/zshrc/ folder + +# Additional OH-MY-ZSH plugins to enable +plugins+=(lol httpie docker docker-compose pyenv pip) + +POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(virtualenv status command_execution_time background_jobs todo ram load rvm time) + + +# Custom Aliases, add your personal aliases here diff --git a/ezshrc.zsh b/ezshrc.zsh index 4b7d592..1eb3c0d 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -78,8 +78,6 @@ plugins=( zsh-autosuggestions zsh-syntax-highlighting history-substring-search - git - python screen systemd web-search @@ -88,6 +86,8 @@ plugins=( z sudo # httpie + # git + # python # docker # lol # pip diff --git a/install.sh b/install.sh index 3a07b33..525c698 100755 --- a/install.sh +++ b/install.sh @@ -103,7 +103,7 @@ fi if [ -d ~/.config/ezsh/marker ]; then cd ~/.config/ezsh/marker && git pull else - git clone --depth 1 https://github.com/pindexis/marker ~/.config/ezsh/marker + git clone --depth 1 https://github.com/jotyGill/marker ~/.config/ezsh/marker fi if ~/.config/ezsh/marker/install.py; then From 89d5809a9eba24723e7959571fe08467874bbb03 Mon Sep 17 00:00:00 2001 From: JGill Date: Wed, 6 Oct 2021 13:18:26 +0530 Subject: [PATCH 21/21] Updated marker source location --- ezshrc.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ezshrc.zsh b/ezshrc.zsh index 1eb3c0d..580ff7a 100644 --- a/ezshrc.zsh +++ b/ezshrc.zsh @@ -141,7 +141,7 @@ export FZF_DEFAULT_OPS="--extended" export MARKER_KEY_NEXT_PLACEHOLDER="\C-b" #change maker key binding from Ctr+t to Ctr+b -[[ -s "$HOME/.local/share/marker/marker.sh" ]] && source "$HOME/.local/share/marker/marker.sh" +[[ -s "$HOME/.config/ezsh/marker/marker.sh" ]] && source "$HOME/.config/ezsh/marker/marker.sh" autoload -U compinit && compinit -C -d ~/.cache/zsh/.zcompdump # zsh-completions # autoload bashcompinit # bash completions