commit 8d32fff5effd0a144dadcdaae753fe7b83155fee Author: geezo Date: Thu Apr 2 22:20:45 2026 -0400 Initial dotfiles diff --git a/.zshenv b/.zshenv new file mode 100644 index 0000000..43dd308 --- /dev/null +++ b/.zshenv @@ -0,0 +1,37 @@ +# ~/.zshenv - Loaded for ALL zsh sessions (login, interactive, scripts) +# Keep this file lean: only PATH and essential env vars. + +# ── Locale ───────────────────────────────────────────────────────────────────── +export LANG="en_US.UTF-8" +export LC_ALL="en_US.UTF-8" + +# ── Editor ───────────────────────────────────────────────────────────────────── +export EDITOR="vim" +export VISUAL="$EDITOR" + +# ── Homebrew ─────────────────────────────────────────────────────────────────── +export HOMEBREW_NO_ANALYTICS=1 +export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH" + +# ── pyenv ────────────────────────────────────────────────────────────────────── +export PYENV_ROOT="$HOME/.pyenv" +export PATH="$PYENV_ROOT/bin:$PATH" + +# ── Local bin ────────────────────────────────────────────────────────────────── +export PATH="$HOME/.local/bin:$HOME/bin:$PATH" + +# ── LM Studio ────────────────────────────────────────────────────────────────── +export PATH="$PATH:$HOME/.lmstudio/bin" + +# ── AWS ──────────────────────────────────────────────────────────────────────── +export AWS_DEFAULT_REGION="us-east-1" +# export AWS_PROFILE="default" # uncomment to set a default profile + +# ── Terraform ────────────────────────────────────────────────────────────────── +export TF_CLI_ARGS_plan="-compact-warnings" +export TF_CLI_ARGS_apply="-compact-warnings" + +# ── History ──────────────────────────────────────────────────────────────────── +export HISTFILE="$HOME/.zsh_history" +export HISTSIZE=50000 +export SAVEHIST=50000 diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..3dcabea --- /dev/null +++ b/.zshrc @@ -0,0 +1,58 @@ +# Enable Powerlevel10k instant prompt. Must stay at the top of ~/.zshrc. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# ── Oh My Zsh ────────────────────────────────────────────────────────────────── +export ZSH="$HOME/.oh-my-zsh" +ZSH_THEME="powerlevel10k/powerlevel10k" + +# Custom plugins require manual install — see comments below. +plugins=( + git + docker + docker-compose + kubectl + terraform + aws + pyenv + z # jump to frecent dirs (built-in omz plugin) + macos + zsh-autosuggestions # git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + zsh-syntax-highlighting # git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting +) + +source $ZSH/oh-my-zsh.sh + +# ── Aliases ──────────────────────────────────────────────────────────────────── +[[ -f ~/.aliases ]] && source ~/.aliases + +# ── pyenv ────────────────────────────────────────────────────────────────────── +if command -v pyenv &>/dev/null; then + eval "$(pyenv init --path)" + eval "$(pyenv init -)" +fi + +# ── History ──────────────────────────────────────────────────────────────────── +setopt HIST_IGNORE_ALL_DUPS +setopt HIST_FIND_NO_DUPS +setopt SHARE_HISTORY +setopt EXTENDED_HISTORY + +# ── Completion ───────────────────────────────────────────────────────────────── +zstyle ':completion:*' menu select +zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # case-insensitive + +# ── kubectl autocomplete ─────────────────────────────────────────────────────── +if command -v kubectl &>/dev/null; then + source <(kubectl completion zsh) +fi + +# ── AWS CLI autocomplete ─────────────────────────────────────────────────────── +if command -v aws_completer &>/dev/null; then + autoload bashcompinit && bashcompinit + complete -C aws_completer aws +fi + +# ── Powerlevel10k ────────────────────────────────────────────────────────────── +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh