# The mesh's block (module zsh, novox/hq ADR 0204): the defaults every machine shares, and the code # other modules contribute in three slots. It is replaced at every push. Everything below it is # yours, kept as you wrote it, and runs after it, so your lines win. ${shell:zsh:first} # History, kept across sessions and shared between open shells. Without these zsh saves none: # SAVEHIST defaults to 0 (novox/hq to-be 41, found on review 2026-10-04). HISTFILE="$HOME/.zsh_history" HISTSIZE=100000 SAVEHIST=100000 setopt EXTENDED_HISTORY SHARE_HISTORY HIST_IGNORE_DUPS HIST_IGNORE_SPACE HIST_REDUCE_BLANKS # The completion system. Nothing initialised it, so only zsh's basic completion ran. Its cache # goes under ~/.cache rather than beside ~/.zshrc. [[ -d "$HOME/.cache/zsh" ]] || mkdir -p "$HOME/.cache/zsh" autoload -Uz compinit && compinit -d "$HOME/.cache/zsh/zcompdump" zstyle ':completion:*' menu select # Terminal title: host, directory, git branch function set_terminal_title() { local git_branch="" if git rev-parse --is-inside-work-tree &>/dev/null; then git_branch=" ($(git branch --show-current 2>/dev/null))" fi print -Pn "\e]2;%m: %~${git_branch}\a" } precmd_functions+=(set_terminal_title) # Keybindings bindkey "^[[H" beginning-of-line # Home bindkey "^[OH" beginning-of-line # Home bindkey "^A" beginning-of-line # Ctrl + A bindkey "^[[F" end-of-line # End bindkey "^[OF" end-of-line # End bindkey "^E" end-of-line # Ctrl + E bindkey "^[[3~" delete-char # Del # Colour support of ls and friends if [ -x /usr/bin/dircolors ]; then test -r $HOME/.dircolors && eval "$(dircolors -b $HOME/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi alias ll='ls -alhF' alias la='ls -Ah' alias l='ls -CFh' # A throwaway container, and what takes the space under a directory alias drun='docker run -it --rm' disksize() { du -h --max-depth=1 "${1:-.}" | sort -h } sudo-disksize() { sudo du -h --max-depth=1 "${1:-.}" | sort -h } ${shell:zsh:normal}${shell:zsh:last}