#+TITLE: Shells configuration #+PROPERTY: #+auto_tangle: t * Table of contents :toc: - [[#aliases][Aliases]] - [[#exports][Exports]] - [[#bashrc][bashrc]] - [[#zshrc][zshrc]] * Aliases #+begin_src bash :tangle .shells/alias.sh alias ll='ls -l' alias grep='grep --color=auto' alias anki='QTWEBENGINE_CHROMIUM_FLAGS="--disable-seccomp-filter-sandbox" anki' alias vim='nvim' alias vi='nvim' #git alias config='/usr/bin/git --git-dir=$HOME/Developer/config/ --work-tree=$HOME' 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 yt="yt-dlp" alias c="pavucontrol" alias r="ranger" alias klight="brightnessctl --device='tpacpi::kbd_backlight' set 1" alias pip="pip3" alias clear="printf '\e[2J\e[H'" ##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="$PATH:~/.local/share/flatpak/exports/bin/" 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 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 shell # create a zkbd compatible hash; # to add other keys to this hash, see: man 5 terminfo # enable starship prompt source ~/.shells/alias.sh source ~/.shells/exports.sh source ~/.scripts/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source ~/.scripts/zsh-autosuggestions/zsh-autosuggestions.zsh export PATH=/home/apollo/.local/bin:$PATH 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[Shift-Tab]="${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 [[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search #+end_src