7c8a4893de
- restructure repo to chezmoi conventions (dot_ prefix, private_dot_ssh/) - add nvim config (was untracked) - encrypt restic pass.txt with age - remove stow artifacts (.stow-local-ignore, stow package dirs) - update bootstrap.sh to use chezmoi apply - remove runtime files from tracking (micro buffers, zed backup)
97 lines
4.9 KiB
Bash
97 lines
4.9 KiB
Bash
# ════════════════════════════════════════════════════════════
|
|
# Environment Variables
|
|
# ════════════════════════════════════════════════════════════
|
|
|
|
# ═══ Основные пути ═════════════════════════════════════════
|
|
export EDITOR="${EDITOR:-nano}"
|
|
export VISUAL="${VISUAL:-zeditor}"
|
|
export PAGER="less"
|
|
export SUDO_EDITOR="zeditor --wait"
|
|
|
|
# ═══ XDG Base Directories ══════════════════════════════════
|
|
export XDG_CONFIG_HOME="${HOME}/.config"
|
|
export XDG_DATA_HOME="${HOME}/.local/share"
|
|
export XDG_CACHE_HOME="${HOME}/.cache"
|
|
export XDG_STATE_HOME="${HOME}/.local/state"
|
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
|
|
|
# ═══ История команд ════════════════════════════════════════
|
|
export HISTFILE="${XDG_STATE_HOME}/zsh/history"
|
|
export HISTSIZE=50000
|
|
export SAVEHIST=50000
|
|
|
|
# Создать директорию для истории если не существует
|
|
[[ ! -d "$(dirname $HISTFILE)" ]] && mkdir -p "$(dirname $HISTFILE)"
|
|
|
|
# Добавить Zed в PATH
|
|
export PATH="${HOME}/.local/bin/zed:${PATH}"
|
|
export PATH="${HOME}/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/cli-bin:${PATH}"
|
|
|
|
# ═══ Less ══════════════════════════════════════════════════
|
|
export LESS='-R -M -i -j10'
|
|
export LESSHISTFILE="${XDG_CACHE_HOME}/less/history"
|
|
|
|
# ═══ Ruby (rbenv) ══════════════════════════════════════════
|
|
if [[ -d "${HOME}/.rbenv" ]]; then
|
|
export PATH="${HOME}/.rbenv/bin:${PATH}"
|
|
command -v rbenv &>/dev/null && eval "$(rbenv init - zsh)"
|
|
fi
|
|
|
|
# ═══ asdf ══ ═════════════════════════════════════════════
|
|
if [[ -f "$HOME/.asdf/asdf.sh" ]]; then
|
|
. "$HOME/.asdf/asdf.sh"
|
|
fi
|
|
|
|
# ═══ Node.js ═══════════════════════════════════════════════
|
|
# Если используете nvm
|
|
export NVM_DIR="${XDG_CONFIG_HOME}/nvm"
|
|
[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" --no-use # Ленивая загрузка
|
|
|
|
# ═══ Python ════════════════════════════════════════════════
|
|
# Отключить создание .pyc файлов
|
|
export PYTHONDONTWRITEBYTECODE=1
|
|
# export PYENV_ROOT="$HOME/.pyenv"
|
|
# export PATH="$PYENV_ROOT/bin:$PATH"
|
|
|
|
# ═══ Go ════════════════════════════════════════════════════
|
|
export GOPATH="${HOME}/go"
|
|
export PATH="${GOPATH}/bin:${PATH}"
|
|
|
|
# ═══ Rust ══════════════════════════════════════════════════
|
|
export CARGO_HOME="${HOME}/.cargo"
|
|
export PATH="${CARGO_HOME}/bin:${PATH}"
|
|
|
|
# ═══ Локальные бинарники ═══════════════════════════════════
|
|
export PATH="${HOME}/.local/bin:${PATH}"
|
|
|
|
# ═══ Цвета ═════════════════════════════════════════════════
|
|
export CLICOLOR=1
|
|
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43'
|
|
|
|
# ═══ FZF ═══════════════════════════════════════════════════
|
|
export FZF_DEFAULT_OPTS="
|
|
--height 40%
|
|
--layout=reverse
|
|
--border
|
|
--inline-info
|
|
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8
|
|
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
|
|
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
|
|
"
|
|
|
|
# Использовать fd вместо find если доступен
|
|
if command -v fd &>/dev/null; then
|
|
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
|
fi
|
|
|
|
if command -v zoxide &>/dev/null; then
|
|
eval "$(zoxide init zsh)"
|
|
fi
|
|
|
|
if command -v direnv >/dev/null 2>&1; then
|
|
eval "$(direnv hook zsh)"
|
|
fi
|
|
|
|
export SSH_AUTH_SOCK='/home/ada/.bitwarden-ssh-agent.sock'
|