#+TITLE: Shells configuration #+PROPERTY: header-args :mkdirp yes #+auto_tangle: t #+STARTUP: overview * Aliases #+begin_src bash :tangle ~/.shells/alias.sh alias grep='grep --color=auto' alias anki='QTWEBENGINE_CHROMIUM_FLAGS="--disable-seccomp-filter-sandbox" anki' alias vim='nvim' alias vi='nvim' #git alias ga='git add' alias gaa='git add .' alias gc='git commit -m' alias gp='git push -u origin' alias gpm='git push -u origin master' alias gpd='git push -u origin developer' alias gs='git status' alias cpm='config push -u origin master' alias ca='config add' alias cs='config status' alias cc='config commit -m' #pacman | yay alias yeet='paru -Rsc' # weather alias weather="curl wttr.in" alias ls='ls -la --color' alias sb='sudo systemctl start bluetooth' alias mykeys='setxkbmap -option caps:escape' alias logout='pkill -U $USER' #alias neofetch='neofetch | lolcat' alias b='bluetoothctl' alias ba='bluetooth-autoconnect' alias music='mocp' alias ytd="yt-dlp" alias c="pavucontrol" alias r="ranger" alias klight="brightnessctl --device='tpacpi::kbd_backlight' set 1" ##yarn alias sweb='BROWSER="firefox" yarn start' ##flatpaks alias fanki='flatpak run net.ankiweb.Anki' #+end_src * Exports #+begin_src shell :tangle ~/.shells/exports.sh # Export 'SHELL' to child processes. Programs such as 'screen' # honor it and otherwise use /bin/sh. export SHELL export PATH export EDITOR="emacsclient" export GIT_EDITOR="emacsclient" if [[ $- != *i* ]] then # We are being invoked from a non-interactive shell. If this # is an SSH session (as in "ssh host command"), source # /etc/profile so we get PATH and other essential variables. [[ -n "$SSH_CLIENT" ]] && source /etc/profile # Don't do anything else. return fi #+end_src * bashrc #+begin_src shell :tangle ~/.bashrc source ~/.shells/alias.sh source ~/.shells/exports.sh PS1='\n\[\e[0m\][\[\e[0;1;38;5;208m\]\w\[\e[0;2;38;5;248m\]|\[\e[0;2;38;5;220m\]$(git branch 2>/dev/null | grep '"'"'^*'"'"' | colrm 1 2) \[\e[0;2;38;5;242m\]\t\[\e[0m\]]\n\[\e[0m\]-\[\e[0m\]> \[\e[0m\]' # Uncomment next line to enable starship prompt # eval "$(starship init bash)" #+end_src * zshrc #+begin_src bash :tangle ~/.zshrc source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source ~/.shells/alias.sh source ~/.shells/exports.sh export PATH=/home/$USER/.local/bin:$PATH export HISTFILE=.zhistory eval "$(starship init zsh)" autoload Uz compinit compinit typeset -g -A key key[Home]="${terminfo[khome]}" key[End]="${terminfo[kend]}" key[Insert]="${terminfo[kich1]}" key[Backspace]="${terminfo[kbs]}" key[Delete]="${terminfo[kdch1]}" key[Up]="${terminfo[kcuu1]}" key[Down]="${terminfo[kcud1]}" key[Left]="${terminfo[kcub1]}" key[Right]="${terminfo[kcuf1]}" key[PageUp]="${terminfo[kpp]}" key[PageDown]="${terminfo[knp]}" key[ShiftTab]="${terminfo[kcbt]}" # setup key accordingly [[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line [[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line [[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode [[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char [[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char [[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history [[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history [[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char [[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char [[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history [[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history [[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete # Finally, make sure the terminal is in application mode, when zle is # active. Only then are the values from $terminfo valid. if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then autoload -Uz add-zle-hook-widget function zle_application_mode_start { echoti smkx } function zle_application_mode_stop { echoti rmkx } add-zle-hook-widget -Uz zle-line-init zle_application_mode_start add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop fi # History search autoload -Uz up-line-or-beginning-search down-line-or-beginning-search zle -N up-line-or-beginning-search zle -N down-line-or-beginning-search [[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search #+end_src