From 9df277106a7b9a41cbf21ac12c1c623da9227a01 Mon Sep 17 00:00:00 2001 From: Johannes Loher Date: Fri, 21 May 2021 03:18:56 +0200 Subject: [PATCH] zsh: update prompt and cleanup --- .config/dircolors/dircolors | 195 ------------------------------------ .zshenv | 6 ++ .zshrc.local | 66 +++++------- 3 files changed, 32 insertions(+), 235 deletions(-) delete mode 100644 .config/dircolors/dircolors create mode 100644 .zshenv diff --git a/.config/dircolors/dircolors b/.config/dircolors/dircolors deleted file mode 100644 index 24039d5..0000000 --- a/.config/dircolors/dircolors +++ /dev/null @@ -1,195 +0,0 @@ -# Configuration file for dircolors, a utility to help you set the -# LS_COLORS environment variable used by GNU ls with the --color option. -# Copyright (C) 1996-2020 Free Software Foundation, Inc. -# Copying and distribution of this file, with or without modification, -# are permitted provided the copyright notice and this notice are preserved. -# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the -# slackware version of dircolors) are recognized but ignored. -# Below are TERM entries, which can be a glob patterns, to match -# against the TERM environment variable to determine if it is colorizable. -TERM Eterm -TERM ansi -TERM *color* -TERM con[0-9]*x[0-9]* -TERM cons25 -TERM console -TERM cygwin -TERM dtterm -TERM gnome -TERM hurd -TERM jfbterm -TERM konsole -TERM kterm -TERM linux -TERM linux-c -TERM mlterm -TERM putty -TERM rxvt* -TERM screen* -TERM st -TERM terminator -TERM tmux* -TERM vt100 -TERM xterm* -# Below are the color init strings for the basic file types. -# One can use codes for 256 or more colors supported by modern terminals. -# The default color codes use the capabilities of an 8 color terminal -# with some additional attributes as per the following codes: -# Attribute codes: -# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed -# Text color codes: -# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white -# Background color codes: -# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white -#NORMAL 00 # no color code at all -#FILE 00 # regular file: use no color at all -RESET 0 # reset to "normal" color -DIR 01;34 # directory -LINK 01;36 # symbolic link. (If you set this to 'target' instead of a - # numerical value, the color is as for the file pointed to.) -MULTIHARDLINK 00 # regular file with more than one link -FIFO 40;33 # pipe -SOCK 01;35 # socket -DOOR 01;35 # door -BLK 40;33;01 # block device driver -CHR 40;33;01 # character device driver -ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ... -MISSING 00 # ... and the files they point to -SETUID 37;41 # file that is setuid (u+s) -SETGID 30;43 # file that is setgid (g+s) -CAPABILITY 30;41 # file with capability -STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) -OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky -STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable -# This is for files with execute permission: -EXEC 01;32 -# List any file extensions like '.gz' or '.tar' that you would like ls -# to colorize below. Put the extension, a space, and the color init string. -# (and any comments you want to add after a '#') -# If you use DOS-style suffixes, you may want to uncomment the following: -#.cmd 01;32 # executables (bright green) -#.exe 01;32 -#.com 01;32 -#.btm 01;32 -#.bat 01;32 -# Or if you want to colorize scripts even if they do not have the -# executable bit actually set. -#.sh 01;32 -#.csh 01;32 - # archives or compressed (bright red) -.tar 01;31 -.tgz 01;31 -.arc 01;31 -.arj 01;31 -.taz 01;31 -.lha 01;31 -.lz4 01;31 -.lzh 01;31 -.lzma 01;31 -.tlz 01;31 -.txz 01;31 -.tzo 01;31 -.t7z 01;31 -.zip 01;31 -.z 01;31 -.dz 01;31 -.gz 01;31 -.lrz 01;31 -.lz 01;31 -.lzo 01;31 -.xz 01;31 -.zst 01;31 -.tzst 01;31 -.bz2 01;31 -.bz 01;31 -.tbz 01;31 -.tbz2 01;31 -.tz 01;31 -.deb 01;31 -.rpm 01;31 -.jar 01;31 -.war 01;31 -.ear 01;31 -.sar 01;31 -.rar 01;31 -.alz 01;31 -.ace 01;31 -.zoo 01;31 -.cpio 01;31 -.7z 01;31 -.rz 01;31 -.cab 01;31 -.wim 01;31 -.swm 01;31 -.dwm 01;31 -.esd 01;31 -# image formats -.jpg 01;35 -.jpeg 01;35 -.mjpg 01;35 -.mjpeg 01;35 -.gif 01;35 -.bmp 01;35 -.pbm 01;35 -.pgm 01;35 -.ppm 01;35 -.tga 01;35 -.xbm 01;35 -.xpm 01;35 -.tif 01;35 -.tiff 01;35 -.png 01;35 -.svg 01;35 -.svgz 01;35 -.mng 01;35 -.pcx 01;35 -.mov 01;35 -.mpg 01;35 -.mpeg 01;35 -.m2v 01;35 -.mkv 01;35 -.webm 01;35 -.webp 01;35 -.ogm 01;35 -.mp4 01;35 -.m4v 01;35 -.mp4v 01;35 -.vob 01;35 -.qt 01;35 -.nuv 01;35 -.wmv 01;35 -.asf 01;35 -.rm 01;35 -.rmvb 01;35 -.flc 01;35 -.avi 01;35 -.fli 01;35 -.flv 01;35 -.gl 01;35 -.dl 01;35 -.xcf 01;35 -.xwd 01;35 -.yuv 01;35 -.cgm 01;35 -.emf 01;35 -# https://wiki.xiph.org/MIME_Types_and_File_Extensions -.ogv 01;35 -.ogx 01;35 -# audio formats -.aac 00;36 -.au 00;36 -.flac 00;36 -.m4a 00;36 -.mid 00;36 -.midi 00;36 -.mka 00;36 -.mp3 00;36 -.mpc 00;36 -.ogg 00;36 -.ra 00;36 -.wav 00;36 -# https://wiki.xiph.org/MIME_Types_and_File_Extensions -.oga 00;36 -.opus 00;36 -.spx 00;36 -.xspf 00;36 diff --git a/.zshenv b/.zshenv new file mode 100644 index 0000000..fa641a1 --- /dev/null +++ b/.zshenv @@ -0,0 +1,6 @@ +export EDITOR=vim +export BROWSER=firefox + +typeset -U PATH path +path=("$HOME/.local/bin" "$path[@]") +export PATH diff --git a/.zshrc.local b/.zshrc.local index 9738c6f..6993234 100644 --- a/.zshrc.local +++ b/.zshrc.local @@ -1,15 +1,9 @@ -# Variables -export EDITOR=/usr/bin/vim -export BROWSER=/usr/bin/firefox - # Aliases alias .2='cd ../..' alias .3='cd ../../..' alias .4='cd ../../../..' alias .5='cd ../../../../..' - -if hash exa 2>/dev/null -then +if hash exa 2>/dev/null; then alias ls='exa --color=automatic' else alias ls='ls --color=auto' @@ -17,54 +11,46 @@ fi alias ll='ls -l' alias la='ls -a' alias lla='ls -al' - alias color-picker='grim -g "$(slurp -p)" -t ppm - | convert - -format "%[pixel:p{0,0}]" txt:-' - alias foundryvtt='pushd ~/Games/FoundryVTT && (node resources/app/main.js --dataPath="$HOME/.local/share/FoundryVTT/" && popd) || popd' - alias ts='watson log -dcj | watson2timesheet' -# Colors -eval `dircolors $HOME/.config/dircolors/dircolors` - # Prompt autoload -U colors zsh/terminfo colors -zstyle ':vcs_info:git:*' formats "(%{$fg[yellow]%}%b%{$reset_color%})" +zstyle ':vcs_info:git:*' formats "%{$fg[yellow]%}%b%{$reset_color%} " +if [ -n "$SSH_CONNECTION" ]; then + zstyle ':prompt:grml:left:setup' items rc change-root user at host path vcs percent +else + zstyle ':prompt:grml:left:setup' items rc change-root path vcs percent +fi +zstyle ':prompt:grml:right:setup' items zstyle ':prompt:grml:left:items:user' pre "%{$fg[blue]%}" zstyle ':prompt:grml:left:items:user' post "%{$reset_color%}" -zstyle ':prompt:grml:left:items:host' pre "%{$fg[green]%}" -zstyle ':prompt:grml:left:items:host' post "%{$reset_color%}:" -zstyle ':prompt:grml:left:items:path' pre "%{$fg[magenta]%}" +zstyle ':prompt:grml:left:items:host' pre "%{$fg[magenta]%}" +zstyle ':prompt:grml:left:items:host' post "%{$reset_color%}" +zstyle ':prompt:grml:left:items:path' token '%30<..<%~%<< ' +zstyle ':prompt:grml:left:items:path' pre "%{$fg[cyan]%}" zstyle ':prompt:grml:left:items:path' post "%{$reset_color%}" -zstyle ':prompt:grml:left:items:host' token '%m' -zstyle ':prompt:grml:left:items:path' token '%20<..<%~%<<' -zstyle ':prompt:grml:left:items:percent' token '%(!.#.>) ' -zstyle ':prompt:grml:right:items:sad-smiley' token '' - -# Scripts -export PATH="$HOME/.local/bin:$PATH" - - -# Completions -if [ -e "/usr/share/fzf/key-bindings.zsh" ] -then - . /usr/share/fzf/key-bindings.zsh -fi - -if [ -e "/usr/share/fzf/completion.zsh" ] -then - . /usr/share/fzf/completion.zsh -fi +zstyle ':prompt:grml:left:items:percent' token '%(!.#.❯) ' +zstyle ':prompt:grml:left:items:percent' pre "%{$fg[green]%}" +zstyle ':prompt:grml:left:items:percent' post "%{$reset_color%}" # SSH agent -eval `keychain --quiet --agents ssh --eval` +if hash keychain 2>/dev/null; then + eval `keychain --quiet --agents ssh --eval` +fi +# fzf +[ -s "/usr/share/fzf/key-bindings.zsh" ] && . /usr/share/fzf/key-bindings.zsh +[ -s "/usr/share/fzf/completion.zsh" ] && . /usr/share/fzf/completion.zsh + +# NVM export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion +[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # SDKMAN! export SDKMAN_DIR="$HOME/.sdkman" -[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" +[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ] && source "$SDKMAN_DIR/bin/sdkman-init.sh"