]> git.rmz.io Git - dotfiles.git/blobdiff - zshrc
lazyvim: replace LazyFile with their actual events
[dotfiles.git] / zshrc
diff --git a/zshrc b/zshrc
index a64db76e47bdf589a9fd01d73e01316a71f6df87..e2dba1a71c396f62601e4c196b7204f722e19f9c 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -1,63 +1,69 @@
-# Path to your oh-my-zsh configuration.
-ZSH=$HOME/.zsh
+# Path to config files
+ZSH=$XDG_CONFIG_HOME/zsh
+ZSH_DATA=$XDG_DATA_HOME/zsh
+ZSH_CACHE=$XDG_CACHE_HOME/zsh
+[[ ! -d "$ZSH" ]]       && echo "Missing config dir: '$ZSH'"      && return
+[[ ! -d "$ZSH_CACHE" ]] && echo "Missing cache dir: '$ZSH_CACHE'" && return
+[[ ! -d "$ZSH_DATA" ]]  && echo "Missing data dir: '$ZSH_DATA'"   && return
 
-# Set name of the theme to load.
-# Look in ~/.zsh/themes/
-# Optionally, if you set this to "random", it'll load a random theme each
-# time that oh-my-zsh is loaded.
-ZSH_THEME="ramsi"
-
-# Set to this to use case-sensitive completion
-CASE_SENSITIVE="true"
-
-# Comment this out to disable bi-weekly auto-update checks
-DISABLE_AUTO_UPDATE="true"
-
-# Uncomment to change how many often would you like to wait before auto-updates occur? (in days)
-# export UPDATE_ZSH_DAYS=13
-
-# Uncomment following line if you want to disable colors in ls
-# DISABLE_LS_COLORS="true"
+# populate path (order matters)
+typeset -U path     # make path a unique array
+# osx gnu utils (installed via brew)
+if (( $+commands[brew] )); then
+    for pkg in coreutils findutils gnu-sed make; do
+        [[ -d $(brew --prefix $pkg)/libexec/gnubin ]] && path=($(brew --prefix $pkg)/libexec/gnubin $path)
+    done
+fi
+# osx pip 3.7 install
+[[ -d ~/Library/Python/3.7/bin ]] && path=(~/Library/Python/3.7/bin $path)
+# personal scripts
+[[ -d ~/.local/bin ]] && path=(~/.local/bin $path)
+[[ -d ~/bin ]] && path=(~/bin $path)
+# android
+[[ -d /opt/android-sdk ]] && path=($path /opt/android-sdk/platform-tools)
 
-# Uncomment following line if you want to disable autosetting terminal title.
-# DISABLE_AUTO_TITLE="true"
+# load my functions
+typeset -U fpath    # make fpath a unique array
+[[ -d $ZSH/functions ]] && fpath=($ZSH/functions $fpath)
+autoload -U ${fpath[1]}/*(:t)   # loads all functions in the first element of fpath
 
-# Uncomment following line if you want red dots to be displayed while waiting for completion
-# COMPLETION_WAITING_DOTS="true"
+# Load all of the config files in $ZSH/lib that end in .zsh
+for config_file ($ZSH/lib/*.zsh); do
+  source $config_file
+done
 
-# Which plugins would you like to load? (plugins can be found in ~/.zsh/plugins/*)
-# Custom plugins may be added to ~/.zsh/custom/plugins/
-# Example format: plugins=(rails git textmate ruby lighthouse)
-plugins=(extract git)
+# Set name of the theme to load.
+# Look in $ZSH/themes
+ZSH_THEME="ramsi"
+[[ -f "$ZSH/themes/${ZSH_THEME}.zsh-theme" ]] && source "$ZSH/themes/${ZSH_THEME}.zsh-theme"
 
-source $ZSH/oh-my-zsh.sh
+# initialise completion
+autoload -U compinit; compinit -d "$ZSH_CACHE/zcompdump"
 
 # miscelaneous options
-setopt beep
 setopt extendedglob
-setopt csh_nullglob # if glob does not match, remove pattern, if no glob matches print error
+setopt nonomatch    # if glob does not match, pass it to the command
 setopt numeric_glob_sort # sort numerically not lexically
 setopt noclobber    # don't allow overwriting files with '>', use '>!' instead
 setopt notify
 setopt rcquotes     # echo 'don''t'; prints don't
+setopt dvorak       # correct_all uses dvorak
+setopt rematch_pcre # use perl regexp
 
-# populate path
-typeset -U path     # make path a unique array
-[[ -d ~/bin ]] && path=(~/bin $path)
-
-# load my functions
-typeset -U fpath    # make fpath a unique array
-[[ -d ~/.zsh/functions ]] && fpath=(~/.zsh/functions $fpath)
-autoload -U ${fpath[1]}/*(:t)   # loads all functions in the first element of fpath
+# disable flow control
+setopt noflowcontrol
+stty -ixon
 
 # source aliases
-[[ -f ~/.aliases ]] && source ~/.aliases
+[[ -f $XDG_CONFIG_HOME/aliases ]] && source $XDG_CONFIG_HOME/aliases
+for alias_file ($ZSH/aliases/*.zsh); do
+  source $alias_file
+done
 
 # set up a few named directories
-hash -d Skaro=/mnt/Skaro
-hash -d ccr=~/ccr
+hash -d fook=/mnt/fook
 hash -d src=~/src
-hash -d chroot_testing=/buildsystem/testing/buildroot
-hash -d chroot_master=/buildsystem/master/buildroot
-hash -d chroot_lib32=/buildsystem/lib32/buildroot
-hash -d wineprefixes=/mnt/sdd5/wineprefixes
+
+# fpp named dirs
+hash -d evk=~/src/fpp/evk
+hash -d fpp=~/src/fpp