boma/roles/dev_env/files/dotfiles/zsh/.zshrc
sjat 9b5851ba4b chore(roles): role/test hygiene from review (O16,O17,O25,O26)
- dev_env .zshrc: drop the rclone alias (not installed) and guard the direnv
  hook with `command -v direnv` so a missing direnv doesn't error every shell (O16)
- dev_env oh-my-posh: tag the zen.toml theme deploy `config` (it renders config to
  disk like the per_user dotfiles); the include now carries packages+config so a
  `--tags config` run re-renders the theme while the binary install stays packages
  only (O17). Verified via `molecule converge -- --tags config`.
- drop the non-vocabulary `tags: [verify]` from molecule verify playbooks across
  base/docker_host/public_dns/reverse_proxy (check-tags exempts molecule anyway) (O25)
- reverse_proxy templates: add the `{{ ansible_managed }}` header (ADR-024 §1.2) (O26)

make lint green; dev_env + reverse_proxy molecule green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 19:31:23 +02:00

53 lines
1.3 KiB
Bash

# ---- managed by boma dev_env role (stow) ----
# If Oh My Zsh is installed, point ZSH and load it; otherwise pure zsh.
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git history sudo zsh-autosuggestions zsh-syntax-highlighting)
if [ -d "$ZSH" ]; then
source "$ZSH/oh-my-zsh.sh"
fi
# Oh My Posh prompt (preferred)
if command -v oh-my-posh >/dev/null 2>&1; then
eval "$(oh-my-posh init zsh --config /etc/oh-my-posh/zen.toml)"
fi
# Terminal title
function set_terminal_title {
echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"
}
precmd() { set_terminal_title }
# Aliases and basics
alias ll="ls -lh"
alias la="ls -lha"
alias ..="cd .."
alias update="sudo apt update && sudo apt upgrade -y"
# Use neovim for vim/vi commands
alias vim='nvim'
alias vi='nvim'
# History
HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000
SAVEHIST=10000
setopt inc_append_history share_history
# Completion/globbing
autoload -Uz compinit
compinit
setopt autocd correct globdots no_beep
# Editor & PATH
export EDITOR="/usr/local/bin/nvim"
export VISUAL="/usr/local/bin/nvim"
export PATH="$HOME/.local/bin:$HOME/bin:$PATH"
# Ensure USER is set (edge cases)
export USER=$(whoami)
# Enable direnv for automatic virtualenv activation (guarded — direnv may not be installed)
command -v direnv >/dev/null 2>&1 && eval "$(direnv hook zsh)"