diff options
author | Thanos Apollo <[email protected]> | 2023-02-10 06:13:42 +0200 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2023-02-10 06:13:42 +0200 |
commit | 2352426ed44a3e1a99c31b8fd6dd831152b24652 (patch) | |
tree | f727120b3da3c99ed6bbe9fb6e97c42107908745 | |
parent | 332935a39c8ecf4156abeefb5e617de4d655ec3a (diff) |
shells: Make literate configuration
-rw-r--r-- | shells.org | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/shells.org b/shells.org new file mode 100644 index 0000000..95857de --- /dev/null +++ b/shells.org @@ -0,0 +1,160 @@ +#+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 |