From 9e667412ad05001b07e782620c4d24c19bf2229b Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Thu, 6 Aug 2020 07:05:44 -0400 Subject: [PATCH] Import monolithic rc file --- zshrc.org | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 zshrc.org diff --git a/zshrc.org b/zshrc.org new file mode 100644 index 0000000..5a78e84 --- /dev/null +++ b/zshrc.org @@ -0,0 +1,371 @@ +#+TITLE: My .zshrc file +#+AUTHOR: Jacopo De Simoi + +#+HUGO_BASE_DIR: /ssh:jacopods.ddns.net:gists/ +#+HUGO_SECTION: zshrc +#+OPTIONS: creator:t toc:nil + +* zshrc :@zsh: +All posts in here will have the category set to /zsh/. +** zshrc +:PROPERTIES: +:EXPORT_FILE_NAME: zshrc-file +:EXPORT_DATE: 2020-08-05 +:EXPORT_HUGO_MENU: :menu "main" +:END: +This is my ~.zshrc~ + #+BEGIN_SRC sh :tangle ".zshrc" + kde-current-activity () { + qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity + } + + kde-current-activity-name () { + qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName `kde-current-activity` + } + + # # if on TTY, change the colors to solarized + # # FIXME: this is not cleared after exiting… + # if [ "$TERM" = "linux" ]; then + # echo -en "\e]PB657b83" # S_base00 + # echo -en "\e]PA586e75" # S_base01 + # echo -en "\e]P0073642" # S_base02 + # echo -en "\e]P62aa198" # S_cyan + # echo -en "\e]P8002b36" # S_base03 + # echo -en "\e]P2859900" # S_green + # echo -en "\e]P5d33682" # S_magenta + # echo -en "\e]P1dc322f" # S_red + # echo -en "\e]PC839496" # S_base0 + # echo -en "\e]PE93a1a1" # S_base1 + # echo -en "\e]P9cb4b16" # S_orange + # echo -en "\e]P7eee8d5" # S_base2 + # echo -en "\e]P4268bd2" # S_blue + # echo -en "\e]P3b58900" # S_yellow + # echo -en "\e]PFfdf6e3" # S_base3 + # echo -en "\e]PD6c71c4" # S_violet + # clear # against bg artifacts + # fi + + # try without + #DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus.kde.address) + + kde-cd-build () { + cd $(pwd | sed -e 's+scratch/src/kde+scratch/src/kde/build+') + } + + kde-cd-src () { + cd $(pwd | sed -e 's+scratch/src/kde/build+scratch/src/kde+') + } + + run-task () { + adb shell am broadcast --user 0 -a net.dinglish.tasker.run_task -e task "$1" + } + + ifttt () { + curl -X POST https://maker.ifttt.com/trigger/$1/with/key/JLJw_lpzFTzDQetjix9Hr + } + + ANDROID_A3=A3201809076708 + ANDROID_BLU=6LFUQ86DYLOFCANR + ANDROID_IP=192.168.0.22 + + android-remote-keyboard() + { + # should set this up in a tmux session + adb -s $ANDROID_A3 shell ime set de.onyxbits.remotekeyboard/.RemoteKeyboardService; + adb -s $ANDROID_A3 forward tcp:6023 tcp:2323; + sleep 1; + telnet 127.0.0.1 6023 + } + android-remote-keyboard-wifi() + { + # should set this up in a tmux session + adb -s $ANDROID_IP:5555 shell ime set de.onyxbits.remotekeyboard/.RemoteKeyboardService; + adb -s $ANDROID_IP:5555 forward tcp:6023 tcp:2323; + sleep 1; + telnet 127.0.0.1 6023 + } + + + android-remote-keyboard-blu() + { + # should set this up in a tmux session + adb -s $ANDROID_BLU shell ime set de.onyxbits.remotekeyboard/.RemoteKeyboardService; + adb -s $ANDROID_BLU forward tcp:6028 tcp:2323; + sleep 1; + telnet 127.0.0.1 6028 + } + + setup-ipwebcam() + { + adb -s $ANDROID_BLU forward tcp:8097 tcp:8080 + ffmpeg -i http://localhost:8097/video -map 0:v -pix_fmt yuv420p -f v4l2 /dev/video2 + adb -s $ANDROID_BLU forward --remove tcp:8097 + } + + wttr() + { + local location=Toronto + [[ $(tput cols) -le 124 ]] && local narrow=n; + curl -H "Accept-Language: ${LANG%_*}" wttr.in/"${1:-$location}?T$narrow" + } + + SOLARIZED="true" + + # Emacs stuff + eca() + { + if [[ "$SSH_CONNECTION" != '' ]]; then + EMACS_ARGUMENTS="-t" + else + EMACS_ARGUMENTS="-n" + fi + /home/jacopods/.emacs.d/emacsclient-activities $EMACS_ARGUMENTS $@ + } + + function vterm_printf(){ + if [ -n "$TMUX" ]; then + # Tell tmux to pass the escape sequences through + # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) + printf "\ePtmux;\e\e]%s\007\e\\" "$1" + elif [ "${TERM%%-*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + printf "\eP\e]%s\007\e\\" "$1" + else + printf "\e]%s\e\\" "$1" + fi + } + + + # Path to your oh-my-zsh configuration. + ZSH=$HOME/.oh-my-zsh + + # Set name of the theme to load. + # Look in ~/.oh-my-zsh/themes/ + ZSH_THEME="gentoo-wilder" + + # Set to this to use case-sensitive completion + CASE_SENSITIVE="true" + + # Uncomment this to disable bi-weekly auto-update checks + # DISABLE_AUTO_UPDATE="true" + + # Uncomment to change how often before auto-updates occur? (in days) + # export UPDATE_ZSH_DAYS=13 + + # Uncomment following line if you want to disable colors in ls + # DISABLE_LS_COLORS="true" + + # Uncomment following line if you want to disable autosetting terminal title. + DISABLE_AUTO_TITLE="true" + + # Uncomment following line if you want to disable command autocorrection + # DISABLE_CORRECTION="true" + + # Uncomment following line if you want red dots to be displayed while waiting for completion + # COMPLETION_WAITING_DOTS="true" + + # Uncomment 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. + eval `dircolors ~/.dir_colors` + DISABLE_UNTRACKED_FILES_DIRTY="true" + + setopt AUTO_PUSHD + setopt PUSHD_MINUS + setopt BASH_AUTO_LIST + setopt RM_STAR_WAIT + + setopt AUTO_NAME_DIRS + setopt CDABLE_VARS + # Uncomment following line if you want to shown in the command execution time stamp + # in the history command output. The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"| + # yyyy-mm-dd + # HIST_STAMPS="mm/dd/yyyy" + + # Which plugins would you like to load? (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) + plugins=(git colorize wd history-substring-search) + + source $ZSH/oh-my-zsh.sh + #source $ZSH/z.sh + + if [[ "$TERM" == "dumb" ]] + then + unsetopt zle + unsetopt prompt_cr + unsetopt prompt_subst + unfunction precmd + unfunction preexec + PS1='$ ' + fi + + # try to use system colors for completion + zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}" + + # reset default oh-my-zsh matcher-list + zstyle ':completion:*' matcher-list '' + + # smart: ignore parent directory when completing ../ + + zstyle ':completion:*:(cd|mv|cp):*' ignore-parents parent pwd + zstyle ':completion:*:(rm|kill|diff):*' ignore-line yes + + + # User configuration + + #export PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3:/usr/x86_64-pc-linux-gnu/gnat-gcc-bin/4.3:/usr/libexec/gnat-gcc/x86_64-pc-linux-gnu/4.3:/usr/games/bin:/usr/games/bin:/usr/games/bin:/usr/games/bin" + + export PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/games/bin" + + # editor stuff + #export ALTERNATE_EDITOR="/usr/bin/emacs" + + export EMACS="/home/jacopods/.emacs.d/emacsclient-activities -n" + export EDITOR=$EMACS + export VISUAL=$EMACS + export GIT_EDITOR="/home/jacopods/.emacs.d/emacsclient-activities" + export SUDO_EDITOR=$EMACS + + git-create-thinkspoon-remote () { + REPO_NAME=$(basename "`pwd`") + source ~/scripts/git-init-thinkspoon.sh "$REPO_NAME.git" + git remote add thinkspoon "git@thinkspoon.local:repos/$REPO_NAME.git" + } + + git-current-branch () { + git status -b | head -n 1 | awk {'print $3'} + } + ############################################################################## + ## Aliases + ############################################################################## + + alias emacs="eca" + alias e="eca" + alias E=sudoedit + alias mplayer="mpv" + alias mpv="mpv --no-audio-display" + alias top="urxvt -e htop &" + alias mk="~/scripts/latex-mk $@" + alias neofetch="~/clones/neofetch/neofetch --source ~/clones/neofetch/ascii/gentoo-one --separator ' ⎯⎯' --bold off --colors 4 12 5 3 12 6 | sed -e 's/bree/Bree/' | sed -e 's/2560x/2560×/'" + alias dock="~/scripts/dock-a3.sh" + ###### + ## Time management + ##### + alias pomo="/home/jacopods/.local/bin/termdown 25m -aW -f 3x5 -c 180 -b -q 10 -s $@" + alias heirloom="/home/jacopods/.local/bin/termdown -s 37m -aW -f 3x5 -c 300 -b -q 10 $@" + alias pomodorino="/home/jacopods/.local/bin/termdown 14m -aW -f 3x5 -c 120 -b -q 10 -s $@" + alias pomodoro=pomo + alias pomo-break="/home/jacopods/.local/bin/termdown 5m -aW -f 3x5 -c 60 -b -q 10 $@" + alias pomodorino-break="/home/jacopods/.local/bin/termdown 2m30s -aW -f 3x5 -c 45 -b -q 10 $@" + + alias kb=/home/jacopods/hack/kb/kb + alias unlock-android='~/scripts/unlock-android.sh' #$(cat ~/scripts/unlock-android.gpg | gpg 2>/dev/null)' + alias kbd-android="" + alias K=/home/jacopods/tmp/keymaps/remap-keyboard + + alias hangouts="chromium hangouts.google.com" + alias quercus="/usr/lib/kf5/bin/falkon q.utoronto.ca" + alias gmail="chromium www.gmail.com" + + #alias portal="chromium portal.utoronto.ca" + alias ls=' exa' + alias sl=' exa' # a frequent typo + alias c=' cd' + alias cd=' cd' + alias o5="okular" #QT_PLUGIN_PATH=/usr/lib/kf5/lib64/plugins /usr/lib/kf5/bin/okular >/dev/null 2>/dev/null" + alias o="okular" #QT_PLUGIN_PATH=/usr/lib/kf5/lib64/plugins /usr/lib/kf5/bin/okular >/dev/null 2>/dev/null" + #alias ncmpcpp="~/clones/ncmpcpp/src/ncmpcpp" + alias f="QT_PLUGIN_PATH=/usr/lib/kf5/lib64/plugins /usr/lib/kf5/bin/falkon >/dev/null 2>/dev/null" + alias k5="QT_PLUGIN_PATH=/usr/lib/kf5/lib64/plugins /usr/lib/kf5/bin/konqueror >/dev/null 2>/dev/null" + alias plasmashell-master="QT_PLUGIN_PATH=/usr/lib/kf5/lib64/plugins /usr/lib/kf5/bin/plasmashell >/dev/null 2>/dev/null" + alias skype="skypeforlinux" + alias ta="tmux attach" + alias acroread="env WINEPREFIX=$HOME/.wine32 WINEARCH='win32' wine ~/.wine32/drive_c/Program\ Files/Adobe/Reader\ 11.0/Reader/AcroRd32.exe >/dev/null 2>/dev/null" + + run-silent() { + "$@" 2>/dev/null + } + + alias git-init-coxeter="source ~/scripts/git-init-coxeter.sh" + + #alias emacs=emacsclient --alternate-editor="" -c -n + alias -s pdf='run-silent okular' + alias -s djvu='run-silent okular' + alias -s tex=emacs + alias betty=~/tmp/betty/main.rb + + alias d.u='ssh dropbox.utoronto "~/dropbox.py"' + + alias -g C='| xclip' + + # rationalise-dot; useful for cd ......./whatever + rationalise-dot() { + if [[ $LBUFFER = *.. ]]; then + LBUFFER+=/.. + else + LBUFFER+=. + fi + } + zle -N rationalise-dot + bindkey . rationalise-dot + + bindkey -s '^X^G' 'magit\n' + bindkey -s '^[(' '()^B' + bindkey -s '^[{' '{}^B' + + # this function is a poor-man eselect for configuration files + # it mv's filename to filename_ or viceversa + uv() { + if [[ -f $1 ]]; then + if [[ ${1:(-1)} == '_' ]]; then + mv -i $1 ${1%_} + else + mv -i $1 $1_ + fi + else + echo $0: \'$1\': no such file or directory + return 1 + fi + } + + magit() { + # TODO: add parameter just in case + e -e "(magit-status \"$(pwd)\")" + } + + agenda() { + # TODO: add parameter just in case + e -e "(org-agenda-list)" + } + + kill-emacs() { + e -e "(kill-emacs)" + } + + # Make ctrl-Backspace work + bindkey "\e[9;5~" backward-delete-word + + hash -d Papers="/home/jacopods/work/Papers" + hash -d Books="/home/jacopods/work/Books" + hash -d kde="/scratch/kde/src" + hash -d kde5="/scratch/kde/src5" + + autoload zmv + + # export MANPATH="/usr/local/man:$MANPATH" + + # # Preferred editor for local and remote sessions + # if [[ -n $SSH_CONNECTION ]]; then + # export EDITOR='vim' + # else + # export EDITOR='mvim' + # fi + + # Compilation flags + # export ARCHFLAGS="-arch x86_64" + + # ssh + # export SSH_KEY_PATH="~/.ssh/dsa_id" + + #+END_SRC