X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.zshrc;h=739dac548b2e6911f9d58f77bacb9357e2c4ede6;hb=30f0a9b9e58ff74d0e8797fb9f2b1439bed7c409;hp=91da4450d801239262e0858b0c69a060f43b8e6a;hpb=a80da1b404675281fc1bfd89d49acdc8d28cf167;p=user%2Fhenk%2Fvcsh%2Fzsh.git diff --git a/.zshrc b/.zshrc index 91da445..739dac5 100644 --- a/.zshrc +++ b/.zshrc @@ -11,6 +11,11 @@ export HISTSIZE=1000000000 export SAVEHIST=1000000000 export ANSIBLE_NOCOWS=1 +export ANSIBLE_STRATEGY=mitogen_linear + +export TEXMFCNF=${HOME}/.texlive: + +export FZF_DEFAULT_COMMAND='fdfind --type f' # what is that for exactly? maybe taskwarrior? or timewarrior? REPORTTIME=10 @@ -28,7 +33,83 @@ export PATH=${PATH}:~/bin # colors for newt/whiptail (for debconf, needrestart, etc.) # works better with selenized colorscheme -export NEWT_COLORS='checkbox=yellow,;roottext=yellow,' +# everything that seems irrelevant is set to brown +NEWT_COLORS='' +# foreground seems irrelevant +NEWT_COLORS="${NEWT_COLORS};root=brown,blue" +# text in the root window +NEWT_COLORS="${NEWT_COLORS};roottext=yellow,blue" + +# box/window/button shadows +NEWT_COLORS="${NEWT_COLORS};shadow=brown,black" + +# boxes/windows themselves +NEWT_COLORS="${NEWT_COLORS};window=brown,lightgray" +# box/window titles +NEWT_COLORS="${NEWT_COLORS};title=yellow,lightgray" +# box/window borders +NEWT_COLORS="${NEWT_COLORS};border=gray,lightgray" + +# full buttons +NEWT_COLORS="${NEWT_COLORS};button=black,red" +# compact buttons +NEWT_COLORS="${NEWT_COLORS};compactbutton=black,lightgray" +# selected/active button +NEWT_COLORS="${NEWT_COLORS};actbutton=green,gray" + +# checkbox itself and text +NEWT_COLORS="${NEWT_COLORS};checkbox=black,blue" +# selection marker for checkbox +NEWT_COLORS="${NEWT_COLORS};actcheckbox=yellow,gray" + +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};entry=yellow,brown" +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};disentry=brown,yellow" + +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};label=yellow,red" + +# unselected entries in menus +NEWT_COLORS="${NEWT_COLORS};listbox=lightgray,gray" +# selected entries in menus +NEWT_COLORS="${NEWT_COLORS};actsellistbox=yellow,blue" +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};actlistbox=brown,red" +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};sellistbox=black,brown" + +NEWT_COLORS="${NEWT_COLORS};textbox=black,lightgray" +NEWT_COLORS="${NEWT_COLORS};acttextbox=brown,green" + +# TODO FIXME: no clue what that is +NEWT_COLORS="${NEWT_COLORS};helpline=yellow,brown" + +# probably for gauges +NEWT_COLORS="${NEWT_COLORS};emptyscale=red" +NEWT_COLORS="${NEWT_COLORS};fullscale=blue" + +export NEWT_COLORS + +# black +# darkgray +# brown +# yellow +# +# blue +# cyan +# gray +# green +# magenta +# red +# +# lightblue +# lightcyan +# lightgray +# lightgreen +# lightmagenta +# lightred + # where zsh looks for functions fpath=(~/.zsh_functions $fpath) @@ -38,7 +119,7 @@ fpath=(~/.zsh_functions $fpath) # so they can stay at the top hash -d diary=~/Data/henksfiles/workinprogress/Dokumente/diary hash -d lifedocs=~/Data/henksfiles/workinprogress/Dokumente/Leben -hash -d bewerbung=~/Data/henksfiles/workinprogress/Dokumente/bewerbung +hash -d bewerbung=~/Data/personal/henk/workinprogress/Dokumente/Arbeit/bewerbung hash -d rezepte=~/Data/henksfiles/workinprogress/Dokumente/rezepte/cuisine hash -d templates=~/Data/henksfiles/workinprogress/templates hash -d gitignore=~/Data/public/software/gitignore @@ -53,6 +134,21 @@ source ~/.zsh_aliases source ~/.zsh_qemu +# load plugin manager after all 'static' stuff is done +# source ~/Data/public/software/zinit/zinit.zsh +source "${HOME}/.zgenom/zgenom.zsh" +# Check for plugin and zgenom updates every 7 days +# This does not increase the startup time. +zgenom autoupdate + + +# mostly static stuff, env vars +# zinit load 'https://github.com/joel-porquet/zsh-dircolors-solarized' +# zinit load "https://github.com/greymd/tmux-xpanes" +zgenom load 'https://github.com/joel-porquet/zsh-dircolors-solarized' +zgenom load "https://github.com/greymd/tmux-xpanes" + + # options are usually independent and standalone # so they can stay at the top setopt AUTO_CD @@ -61,7 +157,7 @@ setopt CHASE_LINKS setopt AUTO_NAME_DIRS setopt BRACE_CCL -#setopt EXTENDED_GLOB +setopt EXTENDED_GLOB setopt MARK_DIRS setopt NUMERIC_GLOB_SORT setopt RC_EXPAND_PARAM @@ -89,17 +185,30 @@ setopt PRINT_EXIT_VALUE setopt AUTO_CONTINUE setopt NO_BG_NICE -#setopt LONG_LIST_JOBS - +# display PID when suspending processes as well +setopt LONG_LIST_JOBS +# Report the status of background jobs immediately, rather than waiting until just before printing a prompt. +setopt NOTIFY +# Whenever a command completion or spelling correction is attempted, make sure the entire command path is hashed first. This makes the first completion slower but avoids false reports of spelling errors. +setopt HASH_LIST_ALL +# If unset, the cursor is set to the end of the word if completion is started. Otherwise it stays there and completion is done from both ends. +setopt COMPLETE_IN_WORD +# use zsh field splitting +setopt NO_SH_WORD_SPLIT +# unset parameters should cause an error +# CONFLICTS WITH ZINIT +# CONFLICTS WITH ZGENOM +# setopt NO_UNSET + + +# load before completion system initialization +# zinit load 'https://github.com/zsh-users/zsh-completions' +zgenom load 'https://github.com/zsh-users/zsh-completions' # initialize completion system before loading plugins and external configs source ~/.zsh_comprc -# TODO break this up -source ~/.zsh_zinit - - # TODO reconsider this # source /usr/share/autojump/autojump.sh @@ -124,6 +233,15 @@ bindkey -M vicmd '^X^E' edit-command-line bindkey -M viins '^X^E' edit-command-line +#this mainly sets vars, binds keys, does zle stuff +# zinit load 'https://github.com/laurenkt/zsh-vimto' +zgenom load 'https://github.com/laurenkt/zsh-vimto' + +# functions and an autoload, should be fine here +# zinit load 'https://github.com/MichaelAquilina/zsh-you-should-use' +zgenom load 'https://github.com/MichaelAquilina/zsh-you-should-use' + + # source ~/.zsh_taskwarrior # source ~/.zsh_functions # source ~/.zsh_functions_media @@ -134,7 +252,10 @@ bindkey -M viins '^X^E' edit-command-line source ~/.zsh_local # TODO break this up -source ~/.env_* +for f in ~/.env_*(N) +do + source $f +done typeset -U path @@ -147,6 +268,31 @@ typeset -U path # so they go more to the bottom +# should probably be closer to the bottom than the top? +# zinit load 'https://github.com/nojhan/liquidprompt' +zgenom load 'https://github.com/nojhan/liquidprompt' + + +# needs to be loaded close to the end because it hooks into other stuff +# see https://github.com/zsh-users/zsh-syntax-highlighting +source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + +source /usr/share/doc/fzf/examples/key-bindings.zsh +source /usr/share/doc/fzf/examples/completion.zsh + +# Use fd (https://github.com/sharkdp/fd) instead of the default find +# command for listing path candidates. +# - The first argument to the function ($1) is the base path to start traversal +# - See the source code (completion.{bash,zsh}) for the details. +_fzf_compgen_path() { + fdfind --hidden --follow --exclude ".git" . "$1" +} + +# Use fd to generate the list for directory completion +_fzf_compgen_dir() { + fdfind --type d --hidden --follow --exclude ".git" . "$1" +} + # commands to run after initialization is complete #task awaiting cat ~/.motd