# zmodload zsh/zprof
-# exports are usually independent and standalone
-# so they can stay at the top
+# settings for the zsh don’t get exported
# where to write history
-export HISTFILE=~/.zsh_history
-export HISTSIZE=1000000000
-export SAVEHIST=1000000000
-
-export ANSIBLE_NOCOWS=1
-export ANSIBLE_STRATEGY=mitogen_linear
+HISTFILE=~/.zsh_history
+HISTSIZE=1000000000
+SAVEHIST=1000000000
-# what is that for exactly? maybe taskwarrior? or timewarrior?
+# print time needed for execution when it takes longer than this value
REPORTTIME=10
+
## define word characters (for stuff like backward-word, forward-word, backward-kill-word,..)
## these are NOT separators but chars considered part of a word
#WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default
-# zsh you-should-use
-export YSU_MODE=ALL
-
-# I want sbin executables available
-export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin
-export PATH=${PATH}:~/bin
-
-# colors for newt/whiptail (for debconf, needrestart, etc.)
-# works better with selenized colorscheme
-export NEWT_COLORS='checkbox=yellow,;roottext=yellow,'
# where zsh looks for functions
fpath=(~/.zsh_functions $fpath)
# aliases are usually independent and standalone
source ~/.zsh_aliases
-# TODO break this up or make functions or get rid?
-source ~/.zsh_qemu
# load plugin manager after all 'static' stuff is done
-source ~/Data/public/software/zinit/zinit.zsh
+# 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"
-
+# 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"
-# load sane options plugin before setting my own options
-zinit load 'https://github.com/willghatch/zsh-saneopt'
# options are usually independent and standalone
# so they can stay at the top
setopt AUTO_NAME_DIRS
setopt BRACE_CCL
-#setopt EXTENDED_GLOB
+setopt EXTENDED_GLOB
setopt MARK_DIRS
setopt NUMERIC_GLOB_SORT
setopt RC_EXPAND_PARAM
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'
+# 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
#this mainly sets vars, binds keys, does zle stuff
-zinit load 'https://github.com/laurenkt/zsh-vimto'
+# 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'
+# 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_local
# TODO break this up
-source ~/.env_*
+for f in ~/.env_*(N)
+do
+ source $f
+done
-typeset -U path
-
#zle -N zle-line-init
#zle -N zle-keymap-select
# should probably be closer to the bottom than the top?
-zinit load 'https://github.com/nojhan/liquidprompt'
+# 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
-zinit load '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