Initial dotfiles

This commit is contained in:
geezo 2026-04-02 22:20:45 -04:00
commit 8d32fff5ef
2 changed files with 95 additions and 0 deletions

37
.zshenv Normal file
View File

@ -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

58
.zshrc Normal file
View File

@ -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