# Get basic stuff out of the way source ~/.zsh.d/theme source ~/.zsh.d/functions source ~/.zsh.d/aliases # History search with started text autoload -U up-line-or-beginning-search autoload -U down-line-or-beginning-search zle -N up-line-or-beginning-search zle -N down-line-or-beginning-search bindkey "^[[A" up-line-or-beginning-search # Up arrow bindkey "^[[B" down-line-or-beginning-search # Down arrow # Initialize completion system autoload -U compinit && compinit # Case insensitive completion zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Menu selection for completion zstyle ':completion:*' menu select zstyle ':completion:*' file-sort name zstyle ':completion:*' list-colors '' bindkey '^[[Z' reverse-menu-complete # Configure history to be longer HISTSIZE=10000000 SAVEHIST=10000000 setopt BANG_HIST # Treat the '!' character specially during expansion. setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format. setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. setopt SHARE_HISTORY # Share history between all sessions. setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history. setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again. setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate. setopt HIST_FIND_NO_DUPS # Do not display a line previously found. setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space. setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file. setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry. setopt HIST_VERIFY # Don't execute immediately upon history expansion. setopt HIST_BEEP # Beep when accessing nonexistent history. # Use vim as editor export EDITOR=vim export VISUAL=vim # Enable colors in ls export CLICOLOR=1 # For Linux/BSD ls colors if whence dircolors >/dev/null; then eval "$(dircolors -b)" alias ls='ls --color=auto' else # For macOS ls colors export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd alias ls='ls -G' fi shownetinfo if [ "$OSTYPE" = "Linux" ]; then echo "" elif [ "$OSTYPE" = "Darwin" ]; then # set up iterm integration source ~/.iterm2_shell_integration.zsh # set up auto suggestions and syntax highlighting source /nix/store/*zsh-autosuggestions*/share/zsh-autosuggestions/zsh-autosuggestions.zsh source /nix/store/*zsh-syntax-highlighting*/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ssh-add -K ~/.ssh/id_rsa 2>/dev/null LAPTOP=$(system_profiler SPHardwareDataType | grep "Model Name" | grep "Book") if [ "$LAPTOP" != "" ]; then batt else echo "" fi fi