# ════════════════════════════════════════════════════════════ # 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'